我试图从一个Twitter帐户获取最新的推文,并在我的视图中在UILabel中更新。推文应存储在一个字符串中,并在每次有新推文时更新。我尝试使用带有" screen_name"参数的twitter API。和"计算",并将所有推文存储在一个数组中。当我打印数组时,它返回null。任何帮助将不胜感激。
编辑: 我收到了一个错误的身份验证数据"现在错误。
NSURL *requestAPI = [NSURL URLWithString:@"https://api.twitter.com/1.1/search/tweets.json"];
NSDictionary *parameters = @{@"q": @"@user",
@"result_type":@"recent",
@"count": @"1"};
SLRequest *posts = [SLRequest requestForServiceType:SLServiceTypeTwitter requestMethod:SLRequestMethodGET URL:requestAPI parameters:parameters];
[posts performRequestWithHandler:^(NSData *response, NSHTTPURLResponse *urlResponse, NSError *error){
self.tweet = [NSJSONSerialization JSONObjectWithData:response options:NSJSONReadingMutableLeaves error:&error];
NSLog(@"%@",self.tweet);
}];
答案 0 :(得分:2)
如果您想从一个特定用户获取推文,您应该使用仅应用身份验证(请参阅链接:https://dev.twitter.com/docs/auth/application-only-auth)。另外,我建议使用STTwitter库来简化操作。请参阅以下代码:
STTwitterAPI *twitter = [STTwitterAPI twitterAPIAppOnlyWithConsumerKey:@"CONSUMER KEY" consumerSecret:@"CONSUMER SECRET KEY"];
[twitter verifyCredentialsWithSuccessBlock:^(NSString *username) {
[twitter getUserTimelineWithScreenName:@"thetwitteraccount" count:100 successBlock:^(NSArray *statuses) {
self.tweets = [NSMutableArray arrayWithArray:statuses];
//Say we want to access the text of the first tweet in the array
NSDictionary *text = self.tweets[0];
self.yourlabel.text = text[@"text"];
} errorBlock:^(NSError *error) {
code
}];
} errorBlock:^(NSError *error) {
code
}];