这真让我发疯。我使用了他们的身份验证操场来返回客户端ID,客户端密码,访问令牌和刷新令牌。当我对他们的api进行任何其他调用时,它都可以工作。我什至添加了带有过帐请求的发票。但是,我需要每小时刷新一次访问令牌,并且我正在使用快递服务器来完成它。
var json = {
"grant_type": "refresh_token",
"refresh_token": refreshToken
}
var data = JSON.stringify(json);
var auth = clientID + ':' + clientSecret;
auth = Buffer.from(auth).toString('base64');
var options = {
hostname: 'oauth.platform.intuit.com',
path: '/oauth2/v1/tokens/bearer',
method: 'POST',
headers: {
Authorization: 'Basic ' + auth,
'Content-Type': 'application/x-www-form-urlencoded',
Accept: 'application/json'
}
}
var req = https.request(options, function(res){
console.log(res.statusCode);
res.on('data', function(data){
process.stdout.write(data);
});
});
req.on('error', function(err){
console.log('error: ' + err.message);
});
req.write(data);
req.end();
这正是他们的文档所建议的。但它返回400错误:无效的请求。 有什么想法吗? 由于我只想对自己的应用程序进行身份验证,因此我没有经过OAuth2前端流程,仅使用了运动场令牌。那可能是为什么吗?