处理来自 POST-请求的 JSON 响应
Handle JSON response from POST-request
我在向 oauth 服务器发送 POST 请求时无法读取 JSON 响应。这是我的 POST:
代码
var request = require("request");
var querystring = require('querystring');
var postData={
grant_type: 'code',
code: code,
redirect_uri: uri,
nonce: nonce
};
request.post({
uri: oauth_token_uri ,
headers:
{
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': oauth_code
},
body: querystring.stringify(postData)
}, function(err,res, body){
console.log("BODY:" + res.body);
console.log("BODY: " + body);
console.log("Access Token:" + res.body.access_token);
console.log("Access Token:" + body.access_token);
});
这是控制台中的输出:
BODY:{"access_token":"somecode","refresh_token":"somecode","expires_in":900,"token_type":"bearer","id_token":"someTokenID"}
BODY:{"access_token":"somecode","refresh_token":"somecode","expires_in":900,"token_type":"bearer","id_token":"someTokenID"}
Access Token:undefined
Access Token: undefined
我做错了什么?
尝试关注,
request.post({
uri: oauth_token_uri ,
headers:
{
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': oauth_code
},
body: querystring.stringify(postData)
}, function(err,res, body){
var parsedResponseBody = JSON.parse(body);
console.log("Access Token:" + parsedResponseBody.access_token);
});
您将收到 String
格式的回复。您首先需要在 JSON 对象中解析该响应。
我在向 oauth 服务器发送 POST 请求时无法读取 JSON 响应。这是我的 POST:
代码var request = require("request");
var querystring = require('querystring');
var postData={
grant_type: 'code',
code: code,
redirect_uri: uri,
nonce: nonce
};
request.post({
uri: oauth_token_uri ,
headers:
{
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': oauth_code
},
body: querystring.stringify(postData)
}, function(err,res, body){
console.log("BODY:" + res.body);
console.log("BODY: " + body);
console.log("Access Token:" + res.body.access_token);
console.log("Access Token:" + body.access_token);
});
这是控制台中的输出:
BODY:{"access_token":"somecode","refresh_token":"somecode","expires_in":900,"token_type":"bearer","id_token":"someTokenID"}
BODY:{"access_token":"somecode","refresh_token":"somecode","expires_in":900,"token_type":"bearer","id_token":"someTokenID"}
Access Token:undefined
Access Token: undefined
我做错了什么?
尝试关注,
request.post({
uri: oauth_token_uri ,
headers:
{
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': oauth_code
},
body: querystring.stringify(postData)
}, function(err,res, body){
var parsedResponseBody = JSON.parse(body);
console.log("Access Token:" + parsedResponseBody.access_token);
});
您将收到 String
格式的回复。您首先需要在 JSON 对象中解析该响应。