【发布时间】:2020-09-24 16:36:36
【问题描述】:
在 nodejs 中,我能够成功地发出 POST 请求并获得 API 密钥。我需要通过 GET 重新使用此 API 密钥以获取更多请求。如何在后续的 GET 请求中重用从初始 POST 请求获得的 apiKey 结果?
任何帮助将不胜感激。谢谢!!
var request = require('request');
var uri = 'example.com';
var user = 'user';
var pass = 'password';
var token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9";
//POST
request.post(
{
headers: {'content-type' : 'application/x-www-form-urlencoded'},
url: uri,
rejectUnauthorized: false,
form: { email: user, username: user, password: pass, trustToken: token }
},
function(err, httpResponse, body) {
if (err) {
return console.error('post failed:', err);
}
var obj = JSON.parse(body);
//authToken = json.data.authToken;
//userId = json.data.userId;
console.log('Post successful! Server responded with:', body);
var keys = Object.keys(obj);
apiKey = obj[keys[0]];
}
);
//GET
var Token = {{apiKey}};
console.log(Token);
const options = {
url: 'https://example.com/ask/search/docs',
method: 'GET',
headers: {
'Accept': 'application/json',
'Accept-Charset': 'utf-8',
'User-Agent': 'my-reddit-client'
},
form: {
apiToken: {{apiKey}},
question: "change probability",
stopWords: "false",
language: "en",
start: "0",
rows: "2",
project:{"projectId":"1752","projectName":"Mars"}
}
};
request(options, function(err, res, body) {
let json = JSON.parse(body);
console.log(json);
});
【问题讨论】: