我在我的应用程序中设置了这些 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上使用相同的访问令牌,我可以访问我的个人资料图片图像 URL
状态的文档user_photos
:
提供对用户上传的照片以及用户已标记的照片的访问权限