我正在使用使用Facebook API的node.js
應用程序。在我的代碼的一部分中,我需要從一個通用函數返回access_token
。也就是說,許多其他功能需要調用此函數來檢索Facebook訪問令牌。使用回調函數和異步請求
下面是我的代碼:
function getAccesstoken(code) {
var options = {
host: 'graph.facebook.com',
path: '/oauth/access_token?client_id=xxxx&redirect_uri=xxxxxx&client_secret=xxxxx&code='+code.toString()
};
var acc_token = ''
https.get(options, function(resp) {
resp.on('data', function(d) {
acc_token = acc_token+d.toString()
});
resp.on('end', function() {
var expiry_index = acc_token.indexOf('&expires=')
acc_token = acc_token.substring(0, expiry_index)
});
});
return acc_token.toString()
}
由於https.get
調用是異步的,函數總是返回一個空字符串。最好的辦法是什麼?
你擔心繫統的另一部分將要求'access_token',而你不會擁有它,或者你不知道如何繼續實現,你需要建模你不熟悉的東西(事件驅動的編程)? –