Node.js – 从facebookgraphicsAPI获取我的帐户详细信息
我试图通过facebook图表api( graph.facebook.com/me?access_token=token
)在node.js中获取我的Facebook帐户详细信息,但是我无法使用它:
access_token
= appid
+ '|'
+ appsecret
这是我的代码:
var https=require('https'); var access_token = process.argv.slice(2)[0] + '|' + process.argv.slice(2)[1]; var options = { host: 'graph.facebook.com', path: '/me?access_token=' + access_token }; https.get(options,function(res){ var data = ''; res.on('data', function (chunk) { data += chunk; }); res.on('end', function() { console.log(data); }); });
而我得到的错误:
{“error”:{“message”:“一个活跃的访问令牌必须用来查询关于当前用户的信息”,“type”:“OAuthException”,“code”:2500}}
编辑:
再次阅读文档: https : //developers.facebook.com/docs/facebook-login/access-tokens 。
我知道Facebook有4种令牌:
- 用户访问令牌
- 应用访问令牌= app_id | app_secret
- 页面访问令牌
- 客户端令牌
应用程序访问令牌用于读取应用程序设置(不是用户信息)。
和“ https://graph.facebook.com/me ”是用户信息,所以我们需要使用用户访问令牌
使用应用程序访问令牌的示例:
https://graph.facebook.com/APP_ID/roles?&access_token=APP_ID|APP_SECRET
我错过了url中的&grant_type=client_credentials
:
获取应用程序的访问令牌Facebook的API 。
但是应用程序令牌并不是获取用户信息的应用程序令牌,在这种情况下,我需要user access token
,我可以从Graph Api Explorer