我正在使用JavaScript进行API编程来监控URL的健康检查。这是AppDynamics中的API监控。需要使用GOT库。
我正在检查HTTP请求的响应。
const assert = require("assert");
(async() => {
var url = "https://example.com/oauth2/v1/token";
var headers = {
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Basic xyz'
};
var payload = {
'grant_type': 'password',
'scope': 'okta.groups.read okta.users.read',
'username': 'userid',
'password': 'xxxxx'
};
var response = await client.post(url, {
headers: headers,
json: payload,
})
console.log(response.statusCode);
console.log(response.statusMessage);
console.log(response.body);
})();
我看到下面的答案。
{“error”:“invalid_request”,“error_description”:“令牌请求必须指定'grant_type'。有效值:[password,authorization_code]"}
我确实在代码中明确提到了'grant_type': 'password'
和payload变量。我承认,我是JavaScript新手,但我看了很多在线示例,但仍然无法弄清楚,为什么got库不识别payload。
1条答案
按热度按时间3htmauhk1#
当前代码实际上并没有发送JSON。
应为: