我正在尝试在没有 Facebook 评论插件的网站内构建评论方法。
它是网站的图片库部分,所有照片实际上都托管在业务页面上,我这样做是为了利用 FB 上传、调整大小/旋转等,而不必自己构建。
作为一个快乐的副产品,我想我可以将网站上的评论与 FB 上的评论联系起来,并有一个同步的评论系统,因此发布在任一站点(我的网站或 FB)上的评论将同样显示在任一站点上。
所以,我已经想出了如何发布评论,但它总是作为商业页面发布,而不是登录用户。
此代码发布评论,变量obj
是 Facebook 上照片的 ID。msg
显然是评论文本。我有设置方法来在需要的地方获得正确的权限,如果帖子的响应表明需要这样做,则会调用这些方法。
FB.api('/' + obj + '/comments',
'post',
{ "message": msg,
"access_token": accessToken,
"from": uid
}, // do the post
function (response) { // check the response
if (!response || response.error) { // if there's an error
// DO STUFF WITH ERRORS/REQUEST PERMS ETC
} else {
alert("Msg posted id: " + response.id);
};
});
上面的一切都有效,但是当评论出现时,它总是显示from: my Page ID
不是,我需要的是from: my user id
accessToken
并按UID
如下方式检索:
FB.getLoginStatus(function (response) {
if (response.status === 'connected') {
uid = response.authResponse.userID;
accessToken = response.authResponse.accessToken;
}
});
第一个函数中的 parafrom
发布的是用户 ID,而不是页面 ID,但无论该 para 是否存在,它总是将评论发布为页面。
到目前为止,这让我很沮丧,因为这很容易实现!