Ala*_*ore 5 iphone facebook facebook-graph-api ios
我想允许我的iPhone App用户查看并从他们的Facebook个人资料照片中选择,下载照片以用作个人资料照片.我目前正在使用Facebook SSO SDK并成功登录并访问Graph信息.尝试访问照片信息(成功登录SSO后)使用
[facebook requestWithGraphPath:@"me/albums"];
Run Code Online (Sandbox Code Playgroud)
但我只是得到一个空的数据对象作为回报.我尝试过使用Facebook API资源管理器,它非常有用,它确实为我提供了/ picture和/ photos// album的数据.出于某种原因,我没有使用requestWithGraphPath与我/专辑,我/图片或我/照片获得相同的数据.只是简单的"我"工作正常,但没有给我任何图片信息.谁能告诉我我做错了什么?
注意:这是API参考:Facebook Graph API
我确实得到了这样的图片配置文件:
[facebook requestWithGraphPath:@"me?fields=picture"];
Run Code Online (Sandbox Code Playgroud)
更新:我真的想要所有的配置文件照片,这是一个相册,所以我需要知道如何通过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];
Run Code Online (Sandbox Code Playgroud)
当我说我得到空数据时,这是返回的JSON结果(在request:didLoad :)中:
{
data = (
);
}
Run Code Online (Sandbox Code Playgroud)
从我的日志文件输出:
- (void) request:(FBRequest *)request didLoad:(id)result{
NSLog(@"%@",result);
}
Run Code Online (Sandbox Code Playgroud)
最后注意:最终工作的是使用另一个设备,它更新了我的权限,然后一切都开始工作了!我最好的猜测是模拟器和我的iPhone没有更新我的Facebook权限,所以我被拒绝访问照片和获取空数据阵列.
这个问题也是一个很大的帮助:如何在iPhone SDK中获取Facebook相册的照片?
为了未来的观众,我正在回答我自己的问题,因为我还没有收到其他人的完整答案.
首先,您必须拥有正确的权限,"user_photos"或者"friends_photos".然后你必须确保你的测试设备更新你的权限 - 我认为重新启动设备是最终为我做的.
完成后,您可以使用此调用通过SSO登录后获取相册的JSON列表:
[facebook requestWithGraphPath:@"me/albums" andDelegate:self];
Run Code Online (Sandbox Code Playgroud)
这将为JSON数组(在键下data)提供有关每个专辑的各种信息,包括ID.要获取特定相册ID的照片列表(例如"123456789"),请执行以下操作:
NSString * albumId = @"123456789";
NSString * path = [NSString stringWithFormat:@"%@/photos", albumId];
[facebook requestWithGraphPath:path andDelegate:self];
Run Code Online (Sandbox Code Playgroud)
您的响应当然会通过您可以处理JSON数据的FBRequestDelegate方法来实现request:didLoad.
| 归档时间: |
|
| 查看次数: |
9402 次 |
| 最近记录: |