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 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)") }