Uber API – 使用非开发人员login时invalid_grant

我正在使用Node-uber与Uber API进行通信。 我必须遵循以下代码(项目的示例代码几乎完全相同,密钥隐藏)

var uber = new Uber({ client_id: 'XXXXXXXXXXXX', client_secret: 'XXXXXXXXXXXXX', server_token: 'XXXXXXXXXXXX', redirect_uri: 'https://localhost:3002/rides/callback', name: 'app name', language: 'en_US', sandbox: true }); router.get('/login', function(request, response) { var url = uber.getAuthorizeUrl(['request']); console.log(url); response.redirect(url); }); router.get('/callback', function(req, res, next) { uber.authorization({ authorization_code: req.query.code }, function(err, access_token, refresh_token) { if (err) { console.error(err); } else { res.redirect('/dashboard/pages/index.html'); } }); 

});

现在,当我试图用我的Uber开发人员凭据(与Uber创build应用程序相同的一个)login时,一切正常,所以我相信这个实现至less有一个基本的意义。

问题是当我尝试另一个不相关的优步login。 然后返回的错误代码是invalid_grant

问题是你要求的是“请求”范围,这是一个特权范围。

好消息是,当您授权您自己的帐户或您在开发人员仪表板中列出的开发人员帐户时,您现在可以访问这些范围。 当您准备开放您的应用程序给更多的观众并投入生产时,请从开发人员仪表板提交完整访问请求。

在范围文档中find更多信息: https : //developer.uber.com/docs/rides/scopes