Node.js - 从facebook graph api获取我的帐户详细信息

Hak*_*kim 4 node.js facebook-graph-api facebook-access-token

我想通过facebook graph 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);
    });
});
Run Code Online (Sandbox Code Playgroud)

而我得到的错误:

{"error":{"message":"必须使用有效的访问令牌来查询有关当前用户的信息.","type":"OAuthException","code":2500}}

dam*_*hat 5

编辑:

再次阅读文档后:https://developers.facebook.com/docs/facebook-login/access-tokens.

我意识到facebook有4种类型的令牌:

  • 用户访问令牌
  • App Access Token = app_id | app_secret
  • 页面访问令牌
  • 客户端令牌

App Access Token用于读取应用程序设置(而不是用户信息).

并且" https://graph.facebook.com/me "用于用户信息,因此我们需要使用用户访问令牌


使用app访问令牌的示例:

https://graph.facebook.com/APP_ID/roles?&access_token=APP_ID|APP_SECRET