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

时间:2013-12-14 13:45:17

标签: 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);
    });
});

我得到的错误:

  

{“error”:{“message”:“必须使用活动访问令牌进行查询   有关当前的信息   用户 “” 类型 “:” OAuthException”, “代码”:2500}}

2 个答案:

答案 0 :(得分:5)

编辑:

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

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

  • 用户访问令牌
  • 应用访问令牌= 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

答案 1 :(得分:0)

我错过了网址中的&grant_type=client_credentials
To Get the app Access Token for facebook api

但是应用令牌不是您获取有关用户信息的应用令牌,在这种情况下,我需要user access token来自Graph Api Explorer