サイトのトップへ戻る

Twitter 開発者 ドキュメント日本語訳

Twitterの REST APIにアクセスする

REST APIを使って認証済みTwitter APIリクエストを作成できます。手動でもアクセスできますが、メソッドを使ったほうが便利なので可能であればそちらを推奨します。



搭載されている便利なメソッドを使う

注意

このメソッドを動作させるには、事前にユーザーがログインを完了させていなければなりません。


ツイートを一つ読み込む

ツイートを一つ読み込み、一般的なツイートスタイルで表示します:

// Objective-C
// Fetches @jack's first Tweet
[[[Twitter sharedInstance] APIClient] loadTweetWithID:@"20"
                                           completion:^(TWTRTweet *tweet,
                                                        NSError *error) {
    // handle the response or error
}];
// Swift
// Fetches @jack's first Tweet
Twitter.sharedInstance().APIClient.loadTweetWithID("20") { 
            (tweet, error) -> Void in
    // handle the response or error
}


ツイートを複数読み込む

// Objective-C
NSArray *tweetIDs = @[@"20", @"510908133917487104"];
[[[Twitter sharedInstance] APIClient]
 loadTweetsWithIDs:tweetIDs
 completion:^(NSArray *tweets,
              NSError *error) {
        // handle the response or error
}];
// Swift
let tweetIDs = ["20", "510908133917487104"]
Twitter.sharedInstance().APIClient
   	   	   	.loadTweetsWithIDs(tweetIDs) { 
   	   	   	   	   (tweets, error) -> Void in
    // handle the response or error
  }


ユーザー情報を読み込む

一人のユーザーを読み込むために探す場合:

// Objective-C
[[[Twitter sharedInstance] APIClient] loadUserWithID:@"12"
                                          completion:^(TWTRUser *user,
                                                       NSError *error) 
{
     // handle the response or error
}];
// Swift
Twitter.sharedInstance().APIClient.loadUserWithID("12") {
    (user, error) -> Void in
     // handle the response or error
}


手動でTwitterリクエストを作成する

他のTwitter APIエンドポイントにアクセスしたい場合、手動でリクエストを作成することを選べます。例えば以下のような方法でできます。:

// Objective-C
NSString *statusesShowEndpoint = @"https://api.twitter.com/1.1/statuses/show.json";
NSDictionary *params = @{@"id" : @"20"};
NSError *clientError;
NSURLRequest *request = [[[Twitter sharedInstance] APIClient]
                         URLRequestWithMethod:@"GET"
                         URL:statusesShowEndpoint
                         parameters:params
                         error:&clientError];

if (request) {
    [[[Twitter sharedInstance] APIClient]
     sendTwitterRequest:request
     completion:^(NSURLResponse *response,
                  NSData *data,
                  NSError *connectionError) {
        if (data) {
            // handle the response data e.g.
            NSError *jsonError;
            NSDictionary *json = [NSJSONSerialization
                                  JSONObjectWithData:data
                                  options:0
                                  error:&jsonError];
        }
        else {
            NSLog(@"Error: %@", connectionError);
        }
    }];
}
else {
    NSLog(@"Error: %@", clientError);
}
// Swift
let statusesShowEndpoint = "https://api.twitter.com/1.1/statuses/show.json"
let params = ["id": "20"]
var clientError : NSError?

let request = Twitter.sharedInstance().APIClient.
    URLRequestWithMethod(
         "GET", URL: statusesShowEndpoint, parameters: params,
          error: &clientError)

if request != nil {
    Twitter.sharedInstance().APIClient.
      sendTwitterRequest(request) {
       (response, data, connectionError) -> Void in
        if (connectionError == nil) {
            var jsonError : NSError?
            let json : AnyObject? = 
                        NSJSONSerialization.JSONObjectWithData(data,
                                                                                    options: nil, 
                                                                                    error: &jsonError)
        }
        else {
            println("Error: \(connectionError)")
        }
    }
}
else {
    println("Error: \(clientError)")
}