【问题标题】:Not all the comments visible when pulling a post using Facebook graph API iphone使用 Facebook 图形 API iphone 拉帖子时,并非所有评论都可见
【发布时间】:2011-05-22 13:03:27
【问题描述】:

我搜索了所有关于 Facebook 图形 API 的帖子,但没有找到任何关于它的信息。这就是问题所在。

我正在为一家公司开发 iPhone 应用程序。对于这个应用程序中的新闻部分,我正在使用 Facebook 图形 API 从这家公司的 Facebook 页面的墙上提取所有帖子和 cmets。 我这样做的方式是:首先我通过发送请求来拉取所有帖子:

[facebook requestWithGraphPath:@"company name/feed" andDelegate:self];

我收到了包含所有帖子和相关信息的 NSDictionary,包括 cmets 的数量。我将所有帖子放在 tableView 中,当您点击其中一个帖子时,cmets 的 viewController 会打开。我在哪里为这篇文章请求 cmets:

NSString *postId = [self.post objectForKey:@"id"];
NSString *request = [NSString stringWithFormat:@"%@/comments" ,postId];
[facebook requestWithGraphPath:request andDelegate:self];

我正在接收 cmets 数组。但其中一些失踪了。我猜这是因为人们在他们的帐户中设置了一些隐私设置。
我只是想知道也许有人有同样的问题并且知道如何解决这个问题。或者知道用户需要在其 Facebook 帐户中更改哪些隐私设置才能看到他的 cmets。

谢谢。

【问题讨论】:

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


    【解决方案1】:

    只是想添加这个作品:获取所有基本墙帖信息的提要,然后分别获取每个帖子的 cmets。需要更复杂的刷新方法和一些小技巧(尽可能相信您的 cmets 数组而不是 JSON 注释计数),但至少它是正确的。

    正在抓取提要以获取 post_id,然后单独抓取每个帖子以获取正确的信息。然而,就在 2 天前,我发生了一些非常有趣的事情,iOS 中的相同 facebook 发布请求将返回 3 个 cmets 中的 2 个,Chrome 浏览器返回 1 条评论(最新的一条),而 Firefox 中的请求返回了另外 2 条cmets 但不是最新的。使用浏览器测试响应时,我是否登录并不重要。这发生在大约一半的 cmets 帖子中。

    所以我尝试在 Facebook 开发者网站的 URL 中使用访问令牌,并将请求更改为这个特定的帖子 - 立即返回了所有正确的信息!以至于我什至创建了一个新的 Facebook 应用程序来获得一个新的应用程序 ID,并在 XCode 中创建一个新项目来消除所有可能性 - 没有任何区别。

    感谢这个线程,我尝试了 {post_id}/cmets GET,它可以正常工作。我已经为喜欢做了同样的事情,以消除潜在的进一步破坏!

    【讨论】:

    • 谢谢!我已经完成了这个应用程序(留下了一些 cmets 丢失。facebook 不是这个应用程序的重要部分),但你的帮助真的很感激!下次我会知道如何处理这个问题
    【解决方案2】:

    Graph API 以神秘的方式工作,并且有一个 countless number of bugs actually open,但为简单起见,您需要传递一个有效的 access_token 以从 facebook 检索所有 cmets。

    含义https://graph.facebook.com/page_id/feed?access_token=blah

    API 将返回一个带有链接的 JSON 以使用分页。您可以使用它们浏览或直接检索大量数据:

    https://graph.facebook.com/page_id/feed?access_token=blah&limit=1000

    请注意,使用高于 1000 的限制会导致错误和可能的无效数据...这是一个已知错误。还有 bugs in the pagination logic 可能会或可能不会在 2011 年修复...您必须检查一下。

    cmets 计数和实际计数也有问题,并且在处理大页面时可能会关闭(在每个帖子超过 5k cmets 的页面上会发生这种情况)。还有some problems with getting the count itself...

    很抱歉,我不能帮助您更多,但图形 API 仍然有点混乱,并且错误数量相当多。您必须尝试看看它是否按照the documentation 中的说明工作。但明确添加访问令牌,它不会受到伤害,而且您很可能会获得您想要的数据……除非您遇到错误。

    【讨论】:

      【解决方案3】:

      此外,/feed 中的 cmets 数量有时与 /post_id/cmets 中的不同

      例如:

      graph.facebook.com/146154582080623/feed 返回 1 条评论,计数为 3

      graph.facebook.com/146154582080623_184735008222580/cmets(这是上一页的帖子)返回2 cmets

      所以我想知道隐私是否是问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-19
        • 1970-01-01
        • 1970-01-01
        • 2012-01-07
        • 2012-04-12
        • 1970-01-01
        相关资源
        最近更新 更多