我一直在试图弄清楚如何使该Vue项目与Lyft API一起使用。我已经能够从三足程序中成功创建一个Auth Token,但是我无法从https://api.lyft.com/v1/ridetypes
获取可用的驱动器类型localhost:8080
端点。它确实适用于邮递员。
它一直在说明:
在以下位置访问XMLHttpRequest 'https://api.lyft.com/v1/ridetypes?lat=37.7752315&lng=-122.418075' 来自来源“ http://localhost:8080”的信息已被CORS政策阻止: 对预检请求的响应未通过访问控制检查:否 请求中存在“ Access-Control-Allow-Origin”标头 资源。
我尝试使用vue.config.js
文件做代理:
module.exports = {
devServer: {
proxy: {
'/lyftapi': {
target: 'https://api.lyft.com/v1',
ws: true,
changeOrigin: true
}
}
}
}
我到过Stack Overflow的其他地方,这是最接近我的问题,但没有答案。
CORS error in Lyft API started recently
有什么建议吗?
Axios拨打电话
axios.get('/ridetypes', {
baseURL: 'https://api.lyft.com/v1',
headers: {
'Authorization': this.lyftToken,
},
params: {
lat: lat.toString(),
lng: long.toString()
}
})
如果有任何意义,我能够成功进行GET调用以检索Uber产品,但不能认证出Auth Token(除非它来自Postman)。
答案 0 :(得分:2)
Lyft-API已禁用CORS,这意味着浏览器将阻止对api.lyft.com
的调用。
Vue对此无能为力,因为这是浏览器的安全策略。
幸运的是,没有什么可以阻止您从自己的服务器发出此呼叫。
一种解决方案是使用您自己的服务器转发请求和响应。您呼叫服务器,服务器呼叫lyft,等待响应,然后响应您的请求。
这不是