发布到使用facebook nodejs sdk:OAuthException组

我正在尝试使用nodejs sdk发布到Facebook群组墙( https://github.com/node-facebook/facebook-node-sdk )

这是我正在使用的一段代码:

访问令牌(工作正常):

FB.api('oauth/access_token', { client_id: appId, client_secret: appSecret, grant_type: 'client_credentials' }, function (res) { if (!res || res.error) { var errorMessage = !res ? 'Unkown error' : res.error; log.error(site + " Failed to get fb access token " + errorMessage); } var accessToken = res.access_token; FB.setAccessToken(accessToken); }); 

尝试发布:

  var message = 'Hi from facebook-node-js'; FB.api( facebookGroupId + '/feed', 'POST', { // access_token: appToken, message: message }, function (res) { if (!res || res.error) { console.error(!res ? 'error occurred' : res.error); return; } console.log('Post Id: ' + res.id); }); 

哪个失败:

 { message: '(#200) The user hasn\'t authorized the application to perform this action', type: 'OAuthException', code: 200, fbtrace_id: 'xxxxx' } 

现在,这是一个服务器端应用程序,我不能popup一些请求权限。 有人能指出我在哪里可以分配所需的权限的应用程序?

你必须有访问令牌来完成这一点,很明显,没有用户希望任何应用程序来保存她的Facebook的凭据。 所以正确的做法是首先popup产生访问令牌,并利用它进行发布。

您需要用户授予user_managed_groups和publish_actions权限才能这样做。 请记住,这两个权限需要由Facebook审查。