我希望我的iPhone应用程序用户能够查看并选择他们的Facebook个人资料照片,下载照片以用作个人资料图片。我目前正在使用Facebook SSO SDK,并成功登录和访问Graph信息。尝试使用成功的SSO登录后访问照片信息,如下所示:
但是我只收到了一个空数据对象作为返回。我尝试使用Facebook API explorer,它非常有用,可以给我提供/picture、/photos和/albums的数据。但是,我使用requestWithGraphPath获取me/albums、me/picture或me/photos时没有获得相同的数据。仅仅使用“me”可以正常工作,但是不会给我任何图片信息。有人能告诉我我做错了什么吗?
注意:这是API参考:Facebook Graph API 我确实使个人资料图片像这样工作:
更新:实际上我想要所有的个人资料照片,这是一个相册,所以我需要知道如何通过iOS访问相册。 我已经成功获取了个人资料图片。
我已经根据API添加了“user_photos”和“friends_photos”的权限来访问照片相册。
最终注记:最终起作用的是使用另一台设备,更新了我的权限,然后一切正常运行!我猜想是模拟器和我的iPhone没有更新我的Facebook权限,所以我被拒绝访问照片,并得到了一个空的数据数组。
这个 SO 问题也很有帮助:如何在 iPhone SDK 中获取 Facebook 相册的照片?
[facebook requestWithGraphPath:@"me/albums"];
但是我只收到了一个空数据对象作为返回。我尝试使用Facebook API explorer,它非常有用,可以给我提供/picture、/photos和/albums的数据。但是,我使用requestWithGraphPath获取me/albums、me/picture或me/photos时没有获得相同的数据。仅仅使用“me”可以正常工作,但是不会给我任何图片信息。有人能告诉我我做错了什么吗?
注意:这是API参考:Facebook Graph API 我确实使个人资料图片像这样工作:
[facebook requestWithGraphPath:@"me?fields=picture"];
更新:实际上我想要所有的个人资料照片,这是一个相册,所以我需要知道如何通过iOS访问相册。 我已经成功获取了个人资料图片。
我已经根据API添加了“user_photos”和“friends_photos”的权限来访问照片相册。
NSArray *permissions = [[NSArray alloc] initWithObjects:
@"user_likes",
@"user_birthday",
@"email",
@"publish_stream",
@"publish_actions",
@"user_photos",
@"friends_photos",
nil];
[facebook authorize:permissions];
当我说我得到了空数据时,这是在 request:didLoad: 中返回的 JSON 结果:
{
data = (
);
}
从我的日志文件输出中:
- (void) request:(FBRequest *)request didLoad:(id)result{
NSLog(@"%@",result);
}
最终注记:最终起作用的是使用另一台设备,更新了我的权限,然后一切正常运行!我猜想是模拟器和我的iPhone没有更新我的Facebook权限,所以我被拒绝访问照片,并得到了一个空的数据数组。
这个 SO 问题也很有帮助:如何在 iPhone SDK 中获取 Facebook 相册的照片?