Cocos2d-xとTwitter Kitを使ってOAuth認証&ユーザタイムライン取得-iOS編その2
Cocos2d-xとTwitter Kitを使ってOAuth認証&ユーザタイムライン取得-iOS編その1の続き。
前回Twitterにログインしたので、今回はシングルツイートの取得とユーザタイムラインの取得をします。
xxxxxxxxxxとなっている所にツイートIDを入れてください。
NSDataが帰ってくるので、NSJSONSerializationでNSDictionaryに変換します。
valueForKeyの"text"のところを変えると他の情報も取得できます。
他のパラメータや、データの構造は、GET statuses/show/:idを見てください。
非同期では無く同期で呼び出したかったので、sendSynchronousRequestを使いました。
ほとんど同じですが、タイムラインなので、forを使って一つづつ取り出しています。
URLの最後の部分を変えれば他の情報も取り出せます。
詳しくはREST APIsを見てください。
前回Twitterにログインしたので、今回はシングルツイートの取得とユーザタイムラインの取得をします。
シングルツイートの取得
std::string NativeLauncher::showTweet(){
NSURLRequest *request = [[[Twitter sharedInstance] APIClient] URLRequestWithMethod:@"GET"
URL:@"https://api.twitter.com/1.1/statuses/show.json"
parameters:@{@"id":@"xxxxxxxxxxxxxxxxxx"}
error:nil];
NSURLResponse *response;
NSError *err;
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&err];
NSDictionary *jsonObject = [NSJSONSerialization JSONObjectWithData:data
options:NSJSONReadingAllowFragments
error:nil];
std::string tweet_text = [[jsonObject valueForKey:@"text"] UTF8String];
return tweet_text;
};
xxxxxxxxxxとなっている所にツイートIDを入れてください。
NSDataが帰ってくるので、NSJSONSerializationでNSDictionaryに変換します。
valueForKeyの"text"のところを変えると他の情報も取得できます。
他のパラメータや、データの構造は、GET statuses/show/:idを見てください。
非同期では無く同期で呼び出したかったので、sendSynchronousRequestを使いました。
ユーザタイムラインの取得
std::vector<std::string> NativeLauncher::showUserTimeline(){
NSURLRequest *request = [[[Twitter sharedInstance] APIClient] URLRequestWithMethod:@"GET"
URL:@"https://api.twitter.com/1.1/statuses/user_timeline.json"
parameters:@{@"count":@"10"}
error:nil];
NSError *err;
NSURLResponse *respon;
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&respon error:&err];
NSDictionary *jsonObject = [NSJSONSerialization JSONObjectWithData:data
options:NSJSONReadingAllowFragments
error:nil];
std::vector<std::string> userTimeline_text;
for (NSDictionary* tweet in jsonObject) {
userTimeline_text.push_back([[tweet valueForKey:@"text"] UTF8String]);
}
return userTimeline_text;
};
ほとんど同じですが、タイムラインなので、forを使って一つづつ取り出しています。
URLの最後の部分を変えれば他の情報も取り出せます。
詳しくはREST APIsを見てください。
コメント