2012-07-27 115 views
5

我想让我的iPhone应用程序用户查看和选择他们的Facebook个人资料照片,下载照片用作个人资料照片。我目前正在使用Facebook SSO SDK并成功登录并访问图表信息。试图访问照片信息(成功的SSO登录后)使用iOS的Facebook的SDK SDK如何下载专辑,个人资料照片数据

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

但我只是得到一个空的数据对象作为回报。我试过使用Facebook API explorer,这非常有帮助,它确实为我提供了/ picture和/ photos和/ albums的数据。出于某种原因,我无法使用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结果(要求:didLoad: ),其获取返回:

{ 
    data =  (
    ); 
} 

从我的日志文件输出:

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

} 

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

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

回答

8

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

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

一旦你做到了这一点,你可以得到专辑的JSON列表,通过SSO登录后,使用此电话:

[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数据来。

+0

我可以得到你的工作副本吗?我想允许用户从FB中获取照片,但不知道从哪里开始。 – Shinigamae 2012-11-28 09:50:37

+0

我得到的结果=== { data =( ); }对我/相册request.Can你请建议什么是错的。 – Imran 2014-08-21 05:45:38

+0

@Imran是否检查过您的权限并确保您已正确登录?除此之外,我建议你发布一个新问题,祝你好运! – 2014-08-22 02:26:52

1

下载FBGraph阿比文件夹,然后它的文件夹添加到。并阅读facebook开发者网站http://developers.facebook.com/docs/reference/api/上的说明。

这是示例代码 - sample code

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

+0

谢谢,我会看看示例代码 - 尽管我看到一个通知,它已不再维护,这是最新的吗? – 2012-07-27 15:40:59

+0

嘿,我相信你会发现它很棒。我已经在我的一个应用程序中使用过它。 有一个方法 - (IBAction)getAuthorPictureButtonPressed:(id)发送者。只要检查它 – TheTiger 2012-07-27 15:45:19

+0

我会试试看,绝对有帮助。 – 2012-07-27 17:11:58

相关问题