Lyft docs(https://developer.lyft.com/docs/rate-limits)中提供的信息是"速率限制是全局的,并且基于每个客户端ID强制实施.".这是真的吗?Lyft根据客户端ID限制所有请求?例如,对Ride-Request的POST限制为每分钟5 rq - 适用于一个用户或整个应用程序(因为我们使用的是客户端ID)?如果所有请求仅限于整个应用程序,则没有意义.
我正在使用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);
});
Run Code Online (Sandbox Code Playgroud)
当我运行脚本时,我收到此错误:
{ error_description: 'Unauthorized', error: 'invalid_client' }
Run Code Online (Sandbox Code Playgroud)
我的axios请求中缺少什么?任何帮助,将不胜感激!
背景
我正在使用 Lyft API 通过他们的 3 条 Oauth2 流程对用户进行身份验证。我已Deep Linking按照此处的文档添加到我的应用程序中。
当我的应用程序打开时,它会立即在 Safari 中加载 Lyft 身份验证页面。在他们接受我请求的权限后,Safari 尝试重定向到我在Lyft Developer 的开发者帐户中设置的 URL
这里的问题是,当用户授予我的应用程序权限时,我需要用户返回我的应用程序,并提供 Lyft 给出的响应。
我试过的
深层链接
lyftauth://
Run Code Online (Sandbox Code Playgroud)
我可以在 Safari 中输入该链接,当我在打电话时,如果安装了该应用程序,它就会打开我的应用程序。我尝试将该链接添加为 Lyft 开发人员页面上的重定向 URL,但它不接受该 URL 格式。
所以我确信我必须给开发者帐户页面一个 URL 来重定向,我知道它会尝试重定向到那个 URL,我知道我不能使用正确的 URL 来让我的应用程序重新打开。
反应本机 Oauth 库
我尝试使用库react-native-oauth。使用这个库时,我发现它没有按预期工作。在 githu.com 上打开了许多问题,其中很多甚至没有回应。我试图为库和编辑代码来为我工作,但无论如何我最终都会在一个不存在的对象上调用一个方法。特别是一种称为authorize.
原生 Xcode 应用程序
我使用 Swift 构建了一个 Xcode 项目并安装了Lyft SDKcocoapods。我能够使用此 SDK 使用 API。由于不断缺少依赖项,我无法将 React Native 合并到现有的 Swift 项目中。
代码示例
使用上面提到的链接文档,我将此代码添加到我的 App Delegate 文件中,
AppDelegate.m …