我在我的应用中设置了这些facebook权限:
NSArray *permissions = [[NSArray alloc] initWithObjects:
@"user_games_activity",
@"friends_games_activity",
@"publish_actions",
@"user_photos",
nil];
[[myDelegate facebook] authorize:permissions];
我正在提出这样的请求:
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"name,picture",@"fields",nil];
[[delegate facebook] requestWithGraphPath:@"me" andParams:params andDelegate:self];
处理响应如:
else if([request.url rangeOfString:@"me"].location != NSNotFound)
{
NSString *username = [result objectForKey:@"name"];
NSLog(@"We think the username is %@", username);
helloGreeting.text = [NSString stringWithFormat:@"Hello %@", username];
NSString *pictureUrl = [result objectForKey:@"picture"];
NSLog(@"Now loading image [%@]", pictureUrl);
NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:pictureUrl]];
profilePhoto.image = [UIImage imageWithData:data];
}
我得到的日志输出是:
2012-06-26 15:10:49.002 FacebookIntegrator[10549:f803] We think the username is James Elsey
2012-06-26 15:10:49.003 FacebookIntegrator[10549:f803] Now loading image [http://profile.ak.fbcdn.net/static-ak/rsrc.php/v2/yo/r/UlIqmHJn-SK.gif]
问题:为什么它会获得默认的通用facebook图标而不是我自己的个人资料图片?在Graph Explorer上使用相同的访问令牌,我可以访问我的个人资料图片图片网址
user_photos
州的documentation:
提供对用户上传的照片的访问权限,以及照片 用户已在
中标记
答案 0 :(得分:1)
用户个人资料照片不需要user_photos
权限。图片很可能来自facebook缓存,您应该使用以下网址作为图片。
http://graph.facebook.com/<facebook id>/picture