我正在开发一个node.js应用程序,该应用程序管理Facebook页面以及其他功能。
要评论用户提交的帖子,我在node.js中使用以下代码:
FB.api(object + '/comments','post',
{ message: COMMENT_I_WANT_TO_SUBMIT, access_token: MY_PAGE_ACCESS_TOKEN },
function(res){
// deal with res
}
);
当使用我短命的Facebook页面访问令牌(我从Graph API Explorer获得)时,提交的评论显示为页面本身提交的评论(我想要的),但是当我使用我的永久令牌时显示为我自己(页面所有者)提交的。
要获得此永久令牌,我按照以下说明操作: following explanation
令牌与我的名称相关联,因为我必须授予管理我拥有的页面以生成令牌的权限。 我相信此令牌具有适当的权限,因为令牌调试器在范围内显示以下权限:" manage_pages,publish_pages,publish_actions,public_profile"
有什么方法可以使用这个永不过期的令牌来评论带有页面名称的帖子而不是我自己的帖子?
答案 0 :(得分:0)
页面访问令牌不仅应该与“用户ID”相关联,还应该与“配置文件ID”相关联,而扩展页面访问令牌不是这种情况。
页面访问令牌不是“可扩展的”,以获取永久页面访问令牌,我必须请求具有永久用户访问令牌的令牌,如here所述
使用作为短期访问令牌,我从Graph API资源管理器(选择应用程序 - >获取令牌 - >选择权限manage_pages
,publish_pages
,publish_actions
和其他人需要 - >抓住填充“访问令牌”文本框的令牌。我进行了以下调用以扩展令牌。
https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&client_id={app-id}&client_secret={app-secret}& fb_exchange_token={short-lived-token}
使用返回的令牌,您只需致电/me/accounts
并复制页面的access_token
即可
此令牌是一个永久的页面访问令牌,以确认您可以使用token debugger并验证它是否具有您的“用户ID”和您的网页的“个人资料ID”