如何从用户的Twitter帐户中获取所有关注者和关注。
我得到了粉丝和关注点。但是我需要关注者的用户名和关注用户。
这是我的代码。
- (void) getAccountInfo
{
ACAccountStore *accountStore = [[ACAccountStore alloc] init];
ACAccountType *accountType = [accountStore accountTypeWithAccountTypeIdentifier:ACAccountTypeIdentifierTwitter];
[accountStore requestAccessToAccountsWithType:accountType options:nil completion:^(BOOL granted, NSError *error){
if (granted) {
NSArray *accounts = [accountStore accountsWithAccountType:accountType];
// Check if the users has setup at least one Twitter account
if (accounts.count > 0)
{
ACAccount *twitterAccount = [accounts objectAtIndex:0];
// Creating a request to get the info about a user on Twitter
SLRequest *twitterInfoRequest = [SLRequest requestForServiceType:SLServiceTypeTwitter requestMethod:SLRequestMethodGET URL:[NSURL URLWithString:@"https://api.twitter.com/1.1/users/show.json"] parameters:[NSDictionary dictionaryWithObject:twitterAccount.username forKey:@"screen_name"]];
[twitterInfoRequest setAccount:twitterAccount];
// Making the request
[twitterInfoRequest performRequestWithHandler:^(NSData *responseData, NSHTTPURLResponse *urlResponse, NSError *error) {
dispatch_async(dispatch_get_main_queue(), ^{
// Check if we reached the reate limit
if ([urlResponse statusCode] == 429) {
NSLog(@"Rate limit reached");
return;
}
// Check if there was an error
if (error) {
NSLog(@"Error: %@", error.localizedDescription);
return;
}
// Check if there is some response data
if (responseData) {
NSError *error = nil;
NSArray *TWData = [NSJSONSerialization JSONObjectWithData:responseData options:NSJSONReadingMutableLeaves error:&error];
// Filter the preferred data
NSString *screen_name = [(NSDictionary *)TWData objectForKey:@"screen_name"];
NSString *name = [(NSDictionary *)TWData objectForKey:@"name"];
int followers = [[(NSDictionary *)TWData objectForKey:@"followers_count"] integerValue];
int following = [[(NSDictionary *)TWData objectForKey:@"friends_count"] integerValue];
}
});
}];
}
} else {
NSLog(@"No access granted");
}
}];
}
答案 0 :(得分:4)
要获取关注者列表,请更改您要求的URL
:
https://api.twitter.com/1.1/followers/list.json
它为指定用户之后的用户返回一个光标的用户对象集合。
要获取您关注的用户列表,请更改您要求的URL
:
https://api.twitter.com/1.1/friends/list.json
它为指定用户关注的每个用户返回一个被镜像的用户对象集合(也称为他们的"朋友")。
我用你的代码来测试它并且它有效。基于REST API v1.1 Resources
答案 1 :(得分:0)
如果您不想使用API,可以使用Criexe API。 https://github.com/criexe/api/wiki/Social-Networks-Page-Stats-API
示例:强>
获取https://api.criexe.com/social/pageStats?twitter=microsoft
{
"twitter":{
"user":"microsoft",
"followers":8293150
},
"total":8293150
}