【问题标题】:iOS 8.3 Facebook SDK 4.1 Retrieve user's Profile Photo AlbumiOS 8.3 Facebook SDK 4.1 检索用户的个人资料相册
【发布时间】:2015-08-10 11:02:24
【问题描述】:

我在我的代码中使用 Facebook SDK 最新版本 4.3。我的任务是我必须从 Facebook 的以下路径获取名为 Profile Pictures 的用户的完整相册:UserProfile-> Photos-> Albums-> Profile Pictures。

为此,我已通过@"public_profile"、@"user_photos" 等的权限...

我已经搜索了许多关于 SO 的链接并尝试了极客建议的几乎所有合适的答案。

我尝试了herehere 等给出的东西......

在我当前的场景中,我正在获取用户个人资料图片(当前),但我需要存储在他的个人资料图片相册中的所有图片。如果有人有任何想法,请帮助。

【问题讨论】:

标签: facebook facebook-graph-api ios8.3


【解决方案1】:

据我所知,没有办法在一个请求中做到这一点。你需要做两件事:

  1. 请求用户的相册,并解析相册“个人资料图片”的结果

    GET /me/albums?fields=id,name&locale=en_US

这会返回一个像这样的 JSON:

{
  "data": [
    {
      "id": "442898331243456464", 
      "name": "Profile Pictures", 
      "created_time": "2010-12-12T13:35:29+0000"
    }
    ...
  ], 
  "paging": {
    "cursors": {
      "after": "NDQyODk4MzMxMjQz", 
      "before": "MTAxNTA5MjQyNDQ4NDYyNDQ="
    }
  }
}
  1. 获取名为“个人资料图片”的相册的id,并像这样请求photos 边缘:

    GET /442898331243456464/photos

您将收到一个带有个人资料图片的 JSON 对象。如果超过 25 张照片,您可能需要对结果进行分页。

【讨论】:

  • 如果个人资料图片相册在第一组结果中不可用怎么办,并且将再次调用多次分页并检查个人资料图片!
  • 是的,但没有其他办法。分页也很容易,我已经在我的回答中写过了。阅读文档。您在答案中没有写任何有关解决方案的内容,您实际上还有其他想法吗?
【解决方案2】:

首先登录facebook,然后编写以下代码 您可以从 facebook 获取用户个人资料图片。

  NSMutableDictionary* parameters = [NSMutableDictionary dictionary];
            [parameters setValue:@"id,name,email,picture" forKey:@"fields"];

            [[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:parameters]
             startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection,
                                          id result, NSError *error)
            {
                NSLog(@"Your get the result here contain userid, name, email and picture");
             }];

【讨论】:

    猜你喜欢
    • 2012-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多