'Missing or duplicate parameters' 在访问令牌响应中
'Missing or duplicate parameters' in Access Token Response
我正在尝试使用 lambda 函数获取 OAuth 访问令牌,但出现以下错误:
data: {
error: 'invalid_request',
error_description: 'Missing or duplicate parameters'
}
这是代码:
var axios = require("axios").default;
exports.handler = async (event) => {
var options = {
method: 'POST',
url: 'https://******/auth/oauth/v2/token',
headers: {'content-type': 'application/x-www-form-urlencoded'},
data: {
grant_type: 'client_credentials',
client_id: '*********',
client_secret: '******'
}
};
try {
const resp = await axios.request(options);
console.log(resp.data)
} catch (err){
console.error(err);
}
};
当我尝试 运行 邮递员的请求时,它 returns 有效令牌。
如@derpirscher 所述,我必须使用 'qs'
库正确序列化数据对象。之后我能够成功获取访问令牌。
var axios = require("axios").default;
const qs = require('qs');
exports.handler = async (event) => {
var data = {
grant_type: 'client_credentials',
client_id: '*********',
client_secret: '************'
};
var options = {
method: 'POST',
url: 'https://************/auth/oauth/v2/token',
headers: {'content-type': 'application/x-www-form-urlencoded'},
data: qs.stringify(data)
};
try {
const resp = await axios.request(options);
console.log(resp.data)
} catch (err){
console.error(err);
}
};
我正在尝试使用 lambda 函数获取 OAuth 访问令牌,但出现以下错误:
data: {
error: 'invalid_request',
error_description: 'Missing or duplicate parameters'
}
这是代码:
var axios = require("axios").default;
exports.handler = async (event) => {
var options = {
method: 'POST',
url: 'https://******/auth/oauth/v2/token',
headers: {'content-type': 'application/x-www-form-urlencoded'},
data: {
grant_type: 'client_credentials',
client_id: '*********',
client_secret: '******'
}
};
try {
const resp = await axios.request(options);
console.log(resp.data)
} catch (err){
console.error(err);
}
};
当我尝试 运行 邮递员的请求时,它 returns 有效令牌。
如@derpirscher 所述,我必须使用 'qs'
库正确序列化数据对象。之后我能够成功获取访问令牌。
var axios = require("axios").default;
const qs = require('qs');
exports.handler = async (event) => {
var data = {
grant_type: 'client_credentials',
client_id: '*********',
client_secret: '************'
};
var options = {
method: 'POST',
url: 'https://************/auth/oauth/v2/token',
headers: {'content-type': 'application/x-www-form-urlencoded'},
data: qs.stringify(data)
};
try {
const resp = await axios.request(options);
console.log(resp.data)
} catch (err){
console.error(err);
}
};