我只想获取特定Twitter帐户的所有推文。我想使用下面的网址,但不知道我们如何获得Twitter帐号的user_id或screen_name,我们想要获取推文。
资源URL http://api.twitter.com/1/statuses/user_timeline.format参数请求用户时间线时始终指定user_id或screen_name。
是否有任何想法或源代码或参考。任何帮助都会非常值得赞赏。
我使用以下功能获取200条推文,但它显示在NSLog
中HTTP响应状态:403消息
功能
- (IBAction)followOnTwitter:(id)sender
{
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[accountStore requestAccessToAccountsWithType:accountType withCompletionHandler:^(BOOL granted, NSError *error) {
if(granted) {
// Get the list of Twitter accounts.
NSArray *accountsArray = [accountStore accountsWithAccountType:accountType];
// For the sake of brevity, we'll assume there is only one Twitter account present.
// You would ideally ask the user which account they want to tweet from, if there is more than one Twitter account present.
if ([accountsArray count] > 0) {
// Grab the initial Twitter account to tweet from.
ACAccount *twitterAccount = [accountsArray objectAtIndex:0];
NSMutableDictionary *tempDict = [[NSMutableDictionary alloc] init];
[tempDict setValue:@"rohit40793982" forKey:@"screen_name"];
//[tempDict setValue:@"true" forKey:@"follow"];
// [tempDict setValue:@"683286" forKey:@"user_id "];
TWRequest *postRequest = [[TWRequest alloc] initWithURL:[NSURL URLWithString:@"http://api.twitter.com/1/statuses/user_timeline.format"]
parameters:tempDict
requestMethod:TWRequestMethodPOST];
[postRequest setAccount:twitterAccount];
[postRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
NSLog(@"%@",urlResponse);
tweets = [NSJSONSerialization JSONObjectWithData:responseData
options:kNilOptions
error:&error];
NSString *output = [NSString stringWithFormat:@"HTTP response status: %i", [urlResponse statusCode]];
NSLog(@"%@", output);
[self performSelectorOnMainThread:@selector(displayText:) withObject:output waitUntilDone:NO];
}];
}
}
}];
}
我没有收到所有推文的数组。
答案 0 :(得分:3)
我认为你的错误在于这条线
http://api.twitter.com/1/statuses/user_timeline.format
“。format”是您想要响应的格式。例如,如果您需要XML,请使用
https://api.twitter.com/1/statuses/user_timeline.xml
或对于JSON,请使用
https://api.twitter.com/1/statuses/user_timeline.json
您还需要将screen_name附加为查询。例如,要将我的所有推文都作为JSON,请使用
https://api.twitter.com/1/statuses/user_timeline.xml?screen_name=edent
答案 1 :(得分:1)
screen_name基本上是帐户名。它就是'@'之后的名字。就像WOW的screen_name是@Warcraft。
哦,实际上.format就是问题所在。您必须指定3:atom,json或xml中的一个。 (我认为获取用户时间轴不允许xml返回,只需阅读API)
由于我是Java程序员,我担心我无法继续提供帮助:/