【问题标题】:Sorting Through Graph API of Facebook Page on iOSiOS 上 Facebook 页面的 Graph API 排序
【发布时间】:2015-07-17 03:24:08
【问题描述】:

我正在使用:

if ([FBSDKAccessToken currentAccessToken]) {
        [[[FBSDKGraphRequest alloc] initWithGraphPath:@"/v2.3/ID/feed" parameters:nil]
         startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
             if (!error) {
                 NSLog(@"fetched user:%@", result);
             }
         }];
    }   

这给了我一个来自 Facebook 页面的所有数据(我的意思是所有数据)的 JSON 字符串。它给了我帖子、喜欢帖子的人的 ID、每条评论、每个分享的人。我真的只需要帖子本身,它在 JSON 结果中列为“消息”。有什么方法可以在 API 调用中执行此操作,还是必须在之后执行?

另外, 有没有办法让它拉出与每个帖子相关的图片?我知道如何将照片发布到页面,但我只想查看发布到页面的帖子,并让它也拉出图片。

【问题讨论】:

    标签: ios json facebook facebook-graph-api


    【解决方案1】:

    您可以按如下方式过滤掉 Feed 响应

    if ([FBSDKAccessToken currentAccessToken]) {
        [[[FBSDKGraphRequest alloc] initWithGraphPath:@"/v2.3/ID/feed" parameters:[NSMutableDictionary dictionaryWithObject:@"id, message, link.picture" forKey:@"fields"]]
         startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
             if (!error) {
                 NSLog(@"fetched user:%@", result);
             }
         }];
    }   
    

    如您所见,我已经提到了过滤掉所需的信息。
    注意:您可以根据自己的要求过滤掉一些东西。
    请查看以下链接以了解 facebook SDK 上可用的过滤器可能性。
    https://developers.facebook.com/docs/graph-api/reference/v2.3/user/feed
    希望对您有所帮助,不确定您要拉出的图片但可能是 'fields' 中的 'link.picture' 会帮助您获得想要的图片。

    【讨论】:

    • 在错误消息Error Domain=com.facebook.sdk.core Code=8 "The operation couldn’t be completed. (com.facebook.sdk.core error 8.)" UserInfo=0x7fb90d82ae20 {com.facebook.sdk:FBSDKGraphRequestErrorCategoryKey=0, com.facebook.sdk:FBSDKGraphRequestErrorHTTPStatusCodeKey=400, com.facebook.sdk:FBSDKErrorDeveloperMessageKey=Syntax error "Expected "(", got end of string" at character 25: id, message, link.picture, 中得到了这个
    【解决方案2】:

    使用

    /{page_id}/feed?fields=id,message
    

    对于 Graph API v2.4,这将是您必须指定每个字段的标准用法。

    【讨论】:

    • 有没有办法让它拉出与每个帖子相关的图片?我知道如何将照片发布到页面,但我只想查看发布到页面的帖子,并让它也拉出图片。
    【解决方案3】:

    这个,就是你想要的 NSString "link" 的变量:

    if ([FBSDKAccessToken currentAccessToken]) {
        FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil];
        [request startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error) {
             if (!error) {
                 NSDictionary *userData = (NSDictionary *)result;
                 NSString *facebookID = userData[@"id"];
                 NSString *link = userData[@"link"];
                 NSString *locale = userData[@"locale"];
                 NSString *timezone = userData[@"timezone"];
                 NSString *last_name = userData[@"last_name"];
                 NSString *email = userData[@"email"];
                 NSString *gender = userData[@"gender"];
                 NSString *first_name = userData[@"first_name"];
    
             } else if (error) {
                 //tbd
             }
         }];
    } else if (![FBSDKAccessToken currentAccessToken]) {
        //tbd
    }
    

    【讨论】:

      猜你喜欢
      • 2015-02-18
      • 2011-12-12
      • 1970-01-01
      • 2014-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多