Facebook Graph API,即使存在注释,FQL也会返回空注释

时间:2013-08-12 13:02:03

标签: php facebook facebook-graph-api facebook-fql

在我的项目中,有一个功能,用户可以共享一些文章。对于分享文章,我使用了以下代码。

  <a title="Share this answer on facebook" 
    onclick="window.open('https://www.facebook.com/sharer/sharer.php?u= 
    {URL_TO_SHARE}',
    'facebook-share-dialog','width=500,height=300'); 
    return false;">
    SHARE ON FB
   </a>

上面的代码绝对正常,并将我的文章分享到我的墙上。现在我想在上面的共享链接(文章)上发布所有评论。

所以为此,我使用了以下代码(我使用的是facebook-php-sdk):

$facebook->api('/comments?id=' . $url); 
//$url is the url of the shared link which is correct

但是上面的api调用返回空数组,即使本文中有注释。

我也尝试过FQL查询,但这也会返回空数组。

SELECT post_fbid, fromid, object_id, text, time FROM comment 
WHERE object_id IN (SELECT comments_fbid FROM link_stat WHERE url = '{MY_URL}')

要进行交叉检查,我去了Explorer并在那里检查过。但即便如此,它也会返回空数组,就好像没有注释一样。

更新

出于测试目的,我在页面中使用了Facebook Comment Box Plugin,并在该插件中发布了一些评论。

现在当我向Graph API发出查询时,它会给我发表评论插件的所有评论。 但不是我从Facebook Wall发布的内容。

请建议我如何解决上述问题。

- 非常感谢你的时间。

2 个答案:

答案 0 :(得分:2)

你确定这个网站正在使用Facebook评论插件吗?你只能使用comments_fbid检索那些评论,我想只有你拥有所需的权限(相同的应用程序访问权限)

更新:

  

现在当我向Graph API发出查询时,它会给我发表评论插件的所有评论。但不是我从Facebook Wall发布的内容。

正如我所说,如果您没有postID,要在Facebook Wall上检索评论,您必须查询Facebook以检索您的Feed,然后在收到的帖子数据中搜索以找到包含您的链接的帖子。 然后你会得到所有的评论。

使用请求?fields=feed尝试图浏览器。您将拥有一个带有提要键的对象,feed.data将包含一个包含所有帖子的数组。对于每个帖子,请查看链接属性并找到您的链接。 comments属性将包含此facebook帖子上的所有评论。

答案 1 :(得分:1)

评论与Facebook图形对象相关联。在上面的示例中,您实际上是指多个打开的图形对象,这是问题的一部分。

对象#1是您的网站文章。如果您在Facebook调试器(https://developers.facebook.com/tools/debug/)中输入文章URL,您将获得有关它的信息,因为Facebook已将其缓存到图形商店中。在此页面的底部,您将看到一个名为Graph API的字段。提供的网址中的ID是该网页的图表对象ID。您甚至可以单击该链接以查看该对象的数据。

对象#2-#n是您的股票。当您的访问者将文章“分享”到他们的时间线时,他们会在他们的时间轴上创建一个“帖子”。每个“帖子”都有一个不同且唯一的开放图形对象ID。然后,评论插件会在该独特帖子中附加一个独特的评论板。

因此,对于您网站上的一篇文章,在评论方面,您将使用文章网址的开放图表对象ID从您的网站页面进行一次对话,然后在用户流上分享每个帖子的唯一对话

听起来你想要将所有这些合并在一起,所以只有一个评论对象。

为了在您拨打Facebook发表评论时这样做,您必须确保提供文章对象的ID。

而不是...... $ facebook-&gt; api('/ comments?id ='。$ url);

尝试POST呼叫: “https://graph.facebook.com/[OPEN-GRAPH-ID-OF-ARTICLE]/comments?message='my message'”

此处概述了此流程:https://developers.facebook.com/docs/reference/api/using-comments/#creating

希望这有帮助。

由于 本