2013-12-14 78 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

相關問題