Lyft-API - 从本地主机获取

Lyft-API - GET from Localhost

我一直在想办法让这个 Vue 项目与 Lyft 一起工作 API。我已经能够从三足程序成功创建一个 Auth Token,但我无法从 localhost:8080 获取可用的驱动器类型 https://api.lyft.com/v1/ridetypes 端点。它确实适用于 Postman.

它一直在说:

Access to XMLHttpRequest at 'https://api.lyft.com/v1/ridetypes?lat=37.7752315&lng=-122.418075' from origin 'http://localhost:8080' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

我曾尝试使用 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)。

Lyft-API 已禁用 CORS,这意味着 浏览器 将阻止对 api.lyft.com.

的调用

Vue 将无法对此做任何事情,因为这是一项浏览器安全策略。

幸运的是,没有什么可以阻止您从您自己的服务器进行此调用。

一种解决方案是使用您自己的服务器转发请求和响应。你调用你的服务器,服务器调用 lyft,等待响应然后响应你的请求。

不是一个只有 vue 的解决方案