iOS facebook sdk如何下载相册,个人资料照片数据

时间:2012-07-27 15:35:03

标签: iphone ios facebook facebook-graph-api

我想让我的iPhone App用户查看并从他们的脸谱资料中选择照片,下载照片以用作个人资料图片。我目前正在使用Facebook SSO SDK并成功登录并访问Graph信息。尝试使用

访问照片信息(成功登录SSO后)
[facebook requestWithGraphPath:@"me/albums"];

但我得到一个空的数据对象作为回报。我已经尝试使用Facebook API explorer,这非常有帮助,它确实为我提供了/ picture和/ photos / / album的数据。出于某种原因,我没有使用requestWithGraphPath与我/专辑,我/图片或我/照片获得相同的数据。只是简单的“我”工作正常,但没有给我任何图片信息。谁能告诉我我做错了什么?

注意:这是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];

当我说我得到空数据时,这是返回的JSON结果(在request:didLoad :)中:

 {
    data =     (
    );
}

从我的日志文件输出:

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

}

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

这个问题也是一个很大的帮助:How to get photos of a facebook album in iPhone SDK?

2 个答案:

答案 0 :(得分:8)

为了未来的观众,我正在回答我自己的问题,因为我还没有收到其他人的完整答案。

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

完成后,您可以使用此调用通过SSO登录后获取相册的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数据。

答案 1 :(得分:1)

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

这是示例代码 - sample code

在此处,您将获得UIAlertView中的用户个人资料照片。你可以把它展示在你想要的地方。