iOS的Facebook的SDK如何下载相册,个人资料的照片数据

我想允许我的iPhone应用程序用户查看和select他们的Facebook个人资料照片,下载照片用作个人资料图片。 我正在使用Facebook SSO SDK并成功login和访问graphics信息。 试图访问照片信息(成功SSOlogin后)使用

[facebook requestWithGraphPath:@"me/albums"]; 

但我只是得到一个空的数据对象作为回报。 我试过使用Facebook API浏览器 ,这是非常有用的,它给我的数据/图片和/照片和/相册。 出于某种原因,我没有得到相同的数据使用requestWithGraphPath与我/相册,我/图片或我/照片。 只是简单的“我”工作正常,但不给我任何图片信息。 谁能告诉我我做错了什么?

注意:这是API参考: Facebook Graph API

我没有得到图片configuration文件工作是这样的:

 [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]; 

当我说我得到空的数据,这是JSON结果(请求:didLoad :)得到返回:

  { data = ( ); } 

从我的日志文件输出:

 - (void) request:(FBRequest *)request didLoad:(id)result{ NSLog(@"%@",result); } 

最后说明:最后的工作是使用另一个设备,它更新了我的权限,然后一切开始工作! 我最好的猜测是模拟器和我的iPhone没有更新我的Facebook的权限,所以我被拒绝访问照片,并获得一个空的数据数组。

这个问题也是一个很大的帮助: 如何得到iPhone SDK中的Facebook相册的照片?

为了未来的观众,我正在回答自己的问题,因为我没有收到任何人的完整答复。

首先,您必须拥有正确的权限,无论是"user_photos"还是"friends_photos" 。 然后,你必须确保你的testing设备更新你的权限 – 我认为重新启动设备是最终为我做的。

完成之后,可以使用此调用通过SSOlogin后获取JSON专辑列表:

 [facebook requestWithGraphPath:@"me/albums" andDelegate:self]; 

这将为JSON数组(在关键data )提供关于每个相册的各种信息,包括ID。 要获取特定相册ID(例如“123456789”)的照片列表,请执行以下操作:

 NSString * albumId = @"123456789"; NSString * path = [NSString stringWithFormat:@"%@/photos", albumId]; [facebook requestWithGraphPath:path andDelegate:self]; 

您的响应当然会通过FBRequestDelegate方法request:didLoad来处理JSON数据。

下载FBGraph Api文档文件夹,然后将其添加到您的文件夹中。 并阅读facebook开发者网站上的说明http://developers.facebook.com/docs/reference/api/

这是示例代码 – 示例代码

在这里,你会得到一个UIAlertView用户个人资料照片。 你可以把它显示在你想要的地方。