【问题标题】:Fetch user interests and likes from Facebook along with images using Facebook iOS SDK使用 Facebook iOS SDK 从 Facebook 获取用户兴趣和喜好以及图像
【发布时间】:2014-08-08 06:47:38
【问题描述】:

我想获取 Facebook 登录用户的兴趣和喜欢,我可以做到。 但是我没有得到用户喜欢的页面的图像或用户兴趣的图像。

下面的代码可以让我获取用户喜欢的内容:

 [FBRequestConnection startWithGraphPath:@"/me/likes"
                             parameters:nil
                             HTTPMethod:@"GET"
                      completionHandler:^(
                                          FBRequestConnection *connection,
                                          id result,
                                          NSError *error
                                          ) {
                          /* handle the result */
                          NSLog(@"User interests data: %@",result);
                      }];

返回以下 json 数据:

 data =     (
            {
        category = "Musician/band";
        "created_time" = "2014-08-08T05:09:56+0000";
        id = 9770929278;
        name = Adele;
    },
            {
        category = "Musician/band";
        "created_time" = "2014-08-08T05:02:09+0000";
        id = 5027904559;
        name = Shakira;
    }
 );

但是,我想要喜欢的页面的图像。我怎样才能做到这一点? 任何帮助,将不胜感激。 提前致谢。

【问题讨论】:

  • 你想要什么样的图片?主页的头像?
  • 是的,我想要点赞页面的头像。

标签: ios iphone facebook facebook-graph-api facebook-ios-sdk


【解决方案1】:

您可以为每个喜欢的对象再执行 1 次 Graph API 调用:

[FBRequestConnection startWithGraphPath:@"/me/likes"
                         parameters:nil
                         HTTPMethod:@"GET"
                  completionHandler:^(
                                      FBRequestConnection *connection,
                                      id result,
                                      NSError *error
                                      ) {
                      NSArray *data = [result objectForKey:@"data"];
                      for(NSDictionary *liked in data) {
                         NSString *page_id = [liked objectForKey:@"id"];
                         [FBRequestConnection startWithGraphPath:[NSString stringWithFormat:@"/%@/picture", page_id] parameters:nil HTTPMethod:@"GET" completionHandler:^(
                                      FBRequestConnection *connection,
                                      id result,
                                      NSError *error
                                      ) {
                                         // Get your profile pic here
                                      }
                         }];
                      }
                  }];

它将返回页面的公开详细信息。请参阅documentation 了解更多信息。

【讨论】:

  • 感谢您的帮助。从请求 'me/likes' 返回的 'id' 可能不是 page-id。在请求“page-id/picture”之前,我需要先得到它
  • 哎呀,是的,对!但是我无法通过 page-id/picture 得到任何东西。相反,我使用了 page-id?fields=cover,然后使用了封面图片的来源。仍然无法获取被赞页面的头像。
  • 如果您仔细阅读文档,您必须添加参数redirect=false才能返回JSON响应;否则它将返回图像
  • 对,我错过了。谢谢:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-15
  • 2015-01-15
相关资源
最近更新 更多