2013-12-14 77 views
4

我想通过facebook图表api(graph.facebook.com/me?access_token=token)在node.js中获取我的facebook帐户详细信息,但我无法使用它:Node.js - 获取我的facebook帐户详细信息图表api

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":"An active access token must be used to query information about the current user.","type":"OAuthException","code":2500}}

回答

5

编辑: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

+0

让我知道了'|'中'js'但运营商如果像这样使用这个令牌是永久的吗?它不工作,反正给我这个错误:'{“错误”:{“消息”:“无效的OAuth访问令牌。”,“类型”:“OAuthException”,“代码”:190}} – h4k1m

+0

给我链接记录,以及你如何将params传递给节点? – damphat

+0

[stackoverflow - 尝试获取应用程序访问令牌](http://stackoverflow.com/questions/12948809/trying-to-get-app-access-token) – h4k1m

相关问题