我搜索了有关Facebook图谱API的所有帖子,但没有找到任何相关信息。这是问题所在。
我正在为一家公司开发iPhone应用程序。对于这个应用程序中的新闻部分,我使用Facebook图形API从该公司的Facebook页面的墙上拉出所有帖子和评论。 我这样做的方式是:首先我通过发送请求拉出所有帖子:
[facebook requestWithGraphPath:@"company name/feed" andDelegate:self];
我收到了NSDictionary的所有帖子和相关信息,包括评论数量。我将所有帖子放在tableView中,当你点击其中一个帖子时,会打开viewController的评论。我在哪里请求这篇文章的评论:
NSString *postId = [self.post objectForKey:@"id"];
NSString *request = [NSString stringWithFormat:@"%@/comments" ,postId];
[facebook requestWithGraphPath:request andDelegate:self];
我收到了一系列评论。但其中一些人失踪了。我想这是因为人们在他们的帐户中有一些隐私设置 我只是想知道也许有人有同样的问题并且知道如何解决这个问题。或者知道用户需要在他的Facebook帐户中更改哪些隐私设置才能看到他的评论。
感谢。
答案 0 :(得分:2)
只想添加此作品:抓取所有基本墙信息的Feed,然后单独获取每个帖子的评论。需要更复杂的刷新方法,以及一点点技巧(相信你的注释数组可以在JSON注释计数上),但至少它是正确的。
我 抓取Feed以获取post_id,然后单独抓取每个帖子以获取正确的信息。然而,就在2天前,我有一些非常有趣的事情发生在iOS中相同的Facebook帖子请求将返回3条评论中的2条,Chrome浏览器返回1条评论(最新评论)并且Firefox中的请求返回其他2条评论评论但不是最新的评论。使用浏览器测试响应时,无论我是否登录都没关系。大约有一半的帖子发表了评论。
所以我尝试在Facebook Developers网站上的URL中使用访问令牌并将请求更改为此特定帖子 - 立即返回所有正确的信息!它甚至创造了一个新的Facebook应用程序以获得一个新的应用程序ID,以及XCode中的一个新项目以消除所有可能性 - 这没有什么区别。
感谢这个帖子,我尝试了{post_id} / comments GET,它运行正常。我已经做了同样的事情,因为我喜欢消除可能进一步破坏线路的行为!
答案 1 :(得分:1)
Graph API以神秘的方式工作,并且有一个countless number of bugs actually open,但为了简单起见,您需要传递一个有效的access_token来检索来自facebook的所有评论。
含义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年修复...你必须检查。
评论计数和实际计数也有错误,并且在处理大页面时可能会关闭(看到它发生在每个帖子的评论超过5k的页面上)。还有some problems with getting the count itself ...
很抱歉,如果我不能帮助你,但图表API仍然有点乱,并且计入相当多的错误。您必须尝试查看它是否按照the documentation中的说明运行。但最终添加一个访问令牌,它不会受到伤害,你最有可能得到你想要的数据......除非你遇到一个bug。
答案 2 :(得分:0)
此外,/ post中的注释数量有时会不同于/ post_id / comments
例如:
graph.facebook.com/146154582080623/feed返回1条评论,数量为3
和
graph.facebook.com/146154582080623_184735008222580/comments(这是上一页的帖子)返回2条评论
所以我想知道隐私是否是问题。