我正在为我的应用添加facebook功能,而我正在使用Facebook提供的SDK。
我使用[facebook authorize:nil]
调用登录,并检索用户的好友列表,调用图API:[facebook requestWithGraphPath:@"me/friends" andDelegate:self]
然而,之后我想获取每个用户的朋友详细信息和个人资料图片。现在我正在做这个电话:
-(void)getDetailedInfoForFacebookUser:(NSArray *)aIDArray
{
for (NSString *aID in aIDArray) {
[facebook requestWithGraphPath:aID andDelegate:self];
[facebook requestWithGraphPath:[NSString stringWithFormat:@"%@/picture",aID] andDelegate:self];
}
}
但是响应时间很长,因为对于典型的用户(大约500个朋友),有超过1000个解析响应。有没有办法检索所有这些信息没有做出如此荒谬的请求?
非常感谢您的帮助!
答案 0 :(得分:2)
使用FQL,您可以立即发出批量请求并解析所有内容!
-(void) startFriendsRequest
{
// Construct your FQL Query
NSString* fql = [NSString stringWithFormat:@"SELECT uid,name,first_name,middle_name,last_name,pic_square FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())"];
// Create a params dictionary
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObject:fql forKey:@"query"];
// Make the request
[facebook requestWithMethodName:@"fql.query" andParams:params andHttpMethod:@"GET" andDelegate:self];
}
答案 1 :(得分:0)
您无需创建额外的Facebook Graph请求即可获取用户图片...只需从
加载图片即可https://graph.facebook.com/<User ID or login name>/picture
可选?type = square |小|正常|