Facebook Graph API使用iOS批量请求朋友的个人资料图片?

时间:2012-06-08 14:56:01

标签: ios facebook facebook-graph-api profile image

寻找一种方法来获取所有用户朋友的个人资料图片网址。我知道获取每个用户ID和“滚动”每个ID的方法(https://www.graph.facebook.com/3422098/picture),但这不必要地占用了大量时间。

我正试图弄清楚如何使用批量请求(http://developers.facebook.com/blog/post/2011/03/17/batch-requests-in-graph-api/)并且一次性获取所有URL,遗憾的是我无法理解它。

我可以得到朋友列表..

NSString *jsonRequest1 = @"{ \"method\": \"GET\", \"relative_url\": \"me/friends\" }";
NSString *jsonRequestsArray = [NSString stringWithFormat:@"[%@]", jsonRequest1];
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObject:jsonRequestsArray forKey:@"batch"];
[facebook requestWithGraphPath:@"me" andParams:params andHttpMethod:@"POST" andDelegate:self];

相互朋友..

NSString * jsonRequest1 = @“{\”method \“:\”GET \“,\”relative_url \“:\”me / mutualfriends / 61309973?limit = 20 \“}”;         NSString * jsonRequestsArray = [NSString stringWithFormat:@“[%@]”,jsonRequest1];         NSMutableDictionary * params = [NSMutableDictionary dictionaryWithObject:jsonRequestsArray forKey:@“batch”];         [facebook requestWithGraphPath:@“me”andParams:params andHttpMethod:@“POST”andDelegate:self];

但我无法弄清楚如何获取个人资料照片。

感谢您提供任何帮助。

2 个答案:

答案 0 :(得分:4)

所有朋友都要求/me/friends?fields=name,picture

对于共同的朋友,请求/me/mutualfriends/[OTHER ID]/?fields=name,picture

答案 1 :(得分:0)

  

我正在试图弄清楚如何使用批处理请求[...]并一次性获取所有URL,遗憾的是我无法理解。

您想获得实际图片吗?

Graph API不会返回图像数据,无论是否批处理。它只返回图像URL。

如果您不想处理通常/用户ID /图片网址重定向的重定向,那么您可以查询名为“个人资料图片”的相册的用户相册连接,并获取该相册的照片 - 为您提供实际的URL,尽管我没有看到重定向。但这需要获得用户明确的权限才能阅读他们的照片......