我正在使用Lyft API,并试图找出如何使用具有节点脚本的axios获取访问令牌.
我可以通过填写表格来手动获取访问令牌,如下所示:
当我填写表格时,我可以成功地从Lyft获得一个新令牌.
我试图通过执行以下操作将此转换为使用axios的POST请求:
var axios = require('axios');
var data = {
"grant_type": "client_credentials",
"scope": "public",
"client_id": "XXXXXXXXX",
"client_secret": "XXXXXXXX"
};
var url = "https://api.lyft.com/oauth/token";
return axios.post(url, data)
.then(function(response){
console.log(response.data)
})
.catch(function (error) {
console.log(error);
});
当我运行脚本时,我收到此错误:
{ error_description: 'Unauthorized', error: 'invalid_client' }
我的axios请求中缺少什么?任何帮助,将不胜感激!
解决方法:
根据Lyft(https://developer.lyft.com/docs/authentication)的文档,您需要使用HTTP Basic身份验证.
var axios = require("axios");
axios.request({
url: "/oauth/token",
method: "post",
baseURL: "https://api.lyft.com/",
auth: {
username: "vaf7vX0LpsL5",
password: "pVEosNa5TuK2x7UBG_ZlONonDsgJc3L1"
},
data: {
"grant_type": "client_credentials",
"scope": "public"
}
}).then(function(res) {
console.log(res);
});
快乐编码:)
!重要的事情!
我强烈建议你尽快更改你的secret_id和client_secret,因为它们不是公开的东西,如果你将它们用于一个重要的项目或类似的东西.
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!