Facebook Graph API:知道用户评论的URL吗?

Facebook Graph API:知道用户评论的URL吗?,facebook,facebook-graph-api,Facebook,Facebook Graph Api,我正在考虑在我的网站上实现Facebook的评论插件。问题是,我需要知道我的网站上有用户评论的页面 我已经阅读了Facebook的文档,但我没有找到了解这一点的适当许可 是否可能知道用户对哪些URL发表了评论?在这种情况下,我的应用程序需要哪些权限 graph.facebook.com/USER_ID/feed&fields=link 对于要查询的每个用户。此调用返回id、name和link字段,该字段是指向所评论对象的url。并非所有帖子都有链接字段,因此需要检查是否为空。然后,您

我正在考虑在我的网站上实现Facebook的评论插件。问题是,我需要知道我的网站上有用户评论的页面

我已经阅读了Facebook的文档,但我没有找到了解这一点的适当许可

是否可能知道用户对哪些URL发表了评论?在这种情况下,我的应用程序需要哪些权限

graph.facebook.com/USER_ID/feed&fields=link 
对于要查询的每个用户。此调用返回id、name和link字段,该字段是指向所评论对象的url。并非所有帖子都有链接字段,因此需要检查是否为空。然后,您可以比较链接字段以查找与URL的匹配项

该提要仅在用户在发布评论时选中“PosttoFacebook”框的情况下才包含来自评论框插件的评论帖子

您需要向用户请求读取流权限

这一切都假设您知道用户是谁。您需要跟踪您身边的用户,因为无法查询FB的API以查找“对我的网站发表评论的用户”。

呼叫

graph.facebook.com/USER_ID/feed&fields=link 
对于要查询的每个用户。此调用返回id、name和link字段,该字段是指向所评论对象的url。并非所有帖子都有链接字段,因此需要检查是否为空。然后,您可以比较链接字段以查找与URL的匹配项

该提要仅在用户在发布评论时选中“PosttoFacebook”框的情况下才包含来自评论框插件的评论帖子

您需要向用户请求读取流权限


这一切都假设您知道用户是谁。您需要跟踪您这边的用户,因为无法查询FB API中的“对我的网站发表评论的用户”。

我知道您已经接受了答案,但我认为这将对您有所帮助

您可以首先为生成代码

对于在其中实现评论插件的每个页面,您将提供用户正在阅读/访问的页面的
href
,这是插件所要求的

您可以使用来收听,特别是对于评论,您有
comment.create
事件,每次发表评论时都会触发该事件。此事件将
response
对象传递给其回调函数,该函数包含前面提到的
href
,以及刚刚生成的注释的
commentID
。因此,您可以轻松跟踪用户对哪个页面(url)发表了评论

示例(请参见如何收听comment.create事件):


window.fbAsyninit=函数(){
FB.init({
appId:'你的应用程序ID',//应用程序ID
channelUrl:'//WWW.YOUR_DOMAIN.COM/channel.html',//频道文件
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true//解析xfbml
});
//这里有额外的初始化代码,这是我们监听事件的地方
FB.Event.subscribe('comment.create',
功能(响应){
警报('您对URL:'+response.href+'CommentID:'+response.CommentID'发表了评论);
//如果需要,可以向服务器执行ajax调用以存储用户、commentID、href信息
}
);
};
//异步加载SDK
(职能(d){
var js,id='facebook jssdk',ref=d.getElementsByTagName('script')[0];
if(d.getElementById(id)){return;}
js=d.createElement('script');js.id=id;js.async=true;
js.src=“//connect.facebook.net/en_US/all.js”;
ref.parentNode.insertBefore(js,ref);
}(文件);

我知道您已经接受了答案,但我认为这会对您有所帮助

您可以首先为生成代码

对于在其中实现评论插件的每个页面,您将提供用户正在阅读/访问的页面的
href
,这是插件所要求的

您可以使用来收听,特别是对于评论,您有
comment.create
事件,每次发表评论时都会触发该事件。此事件将
response
对象传递给其回调函数,该函数包含前面提到的
href
,以及刚刚生成的注释的
commentID
。因此,您可以轻松跟踪用户对哪个页面(url)发表了评论

示例(请参见如何收听comment.create事件):


window.fbAsyninit=函数(){
FB.init({
appId:'你的应用程序ID',//应用程序ID
channelUrl:'//WWW.YOUR_DOMAIN.COM/channel.html',//频道文件
状态:true,//检查登录状态
cookie:true,//启用cookie以允许服务器访问会话
xfbml:true//解析xfbml
});
//这里有额外的初始化代码,这是我们监听事件的地方
FB.Event.subscribe('comment.create',
功能(响应){
警报('您对URL:'+response.href+'CommentID:'+response.CommentID'发表了评论);
//如果需要,可以向服务器执行ajax调用以存储用户、commentID、href信息
}
);
};
//异步加载SDK
(职能(d){
var js,id='facebook jssdk',ref=d.getElementsByTagName('script')[0];
if(d.getElementById(id)){return;}
js=d.createElement('script');js.id=id;js.async=true;
js.src=“//connect.facebook.net/en_US/all.js”;
ref.parentNode.insertBefore(js,ref);
}(文件);

谢谢,我能问你其他问题吗?知道一个对象的ID是否有可能从那些发表评论的人(包括那些没有选中“发布到facebook”框的人)那里获得用户ID?我认为这是不可能的,但确认一些不可能的事情是有风险的:)。我还没有在API中看到它的文档。谢谢,我可以问你一些其他问题吗?知道一个对象的ID是否可能从那些发表评论的人(包括那些没有选中“发布到facebook”框的人)那里获得用户ID?