OAuth2:如何获取令牌?
OAuth2: how to get token?
我遇到了这个错误
RequestError: Error: Argument error, options.body
发送请求后。我在 API 中看到了这个:
grant_type = partner
partner_id = partner id
partner_secret = partner secret
这是源代码:
getToken() {
let data = {
grant_type: 'partner',
partner_id: config.id,
partner_secret: config.secret,
};
const url = config.url;
return this.postRequest(url, data)
.then((result) => {
console.log(result);
if (result) {
console.log(result);
return result;
}
})
.catch((err) => console.log(err));
}
postRequest(url, data) {
const options = {
uri: url,
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: data,
};
return request(options);
}
此代码应该 return 像这样的令牌:
{
"access_token":"2YotnFZFEjr1zCsicMWpAA",
"token_type":"bearer",
"expires_in":1119,
"refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA"
}
代码有什么问题?
数据应该是一个查询字符串!
getToken() {
let data = {
grant_type: 'partner',
partner_id: 'config.id',
partner_secret: 'config.secret',
};
data = querystring.stringify(data);
const url = config.url;
return this.postRequest(url, data)
.then((result) => {
if (result) {
console.log(result);
return result;
}
})
.catch((err) => console.log(err));
}
我遇到了这个错误
RequestError: Error: Argument error, options.body
发送请求后。我在 API 中看到了这个:
grant_type = partner
partner_id = partner id
partner_secret = partner secret
这是源代码:
getToken() {
let data = {
grant_type: 'partner',
partner_id: config.id,
partner_secret: config.secret,
};
const url = config.url;
return this.postRequest(url, data)
.then((result) => {
console.log(result);
if (result) {
console.log(result);
return result;
}
})
.catch((err) => console.log(err));
}
postRequest(url, data) {
const options = {
uri: url,
method: 'POST',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
body: data,
};
return request(options);
}
此代码应该 return 像这样的令牌:
{
"access_token":"2YotnFZFEjr1zCsicMWpAA",
"token_type":"bearer",
"expires_in":1119,
"refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA"
}
代码有什么问题?
数据应该是一个查询字符串!
getToken() {
let data = {
grant_type: 'partner',
partner_id: 'config.id',
partner_secret: 'config.secret',
};
data = querystring.stringify(data);
const url = config.url;
return this.postRequest(url, data)
.then((result) => {
if (result) {
console.log(result);
return result;
}
})
.catch((err) => console.log(err));
}