OAuth协议的一个步骤是通过回调交换收到的代码来获取访问令牌。对于Facebook服务器端授权,以下https GET请求将在响应体中返回访问代码:
https://graph.facebook.com/oauth/access_token?
client_id=YOUR_APP_ID
&redirect_uri=YOUR_REDIRECT_URI
&client_secret=YOUR_APP_SECRET
&code=CODE_GENERATED_BY_FACEBOOK
当尝试连接时,Node.js会触发一个错误,例如:
https.get( /**String | Object*/ options, function ( res ) {
res.setEncoding( 'utf8' );
res.on( 'data', function ( data ) {
// parse response body
} );
} ).on( 'error',function ( e ) {
Log.w( TAG, "Error requesting access_token", e );
} ).end();
错误信息如下:
{ code: 'ECONNREFUSED',
errno: 'ECONNREFUSED',
syscall: 'connect' }
使用wget/curl命令可以正常工作,因此不存在出站防火墙规则等问题。那么node请求出了什么问题?