Uber API - invalid_grant 使用非开发人员登录时
Uber API - invalid_grant when using non developer login
我正在使用 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 上创建应用程序时使用的凭据相同)登录时,一切正常,这使我相信该实施至少具有基本意义。
问题是当我尝试另一个不相关的 Uber 登录时。那么返回的错误码是invalid_grant
问题是您需要 'request' 范围,这是一个特权范围。
好消息是,在授权您自己的帐户或您在开发者仪表板中列出的开发者帐户时,您目前可以访问这些范围。当您准备好向更多用户开放您的应用并投入生产时,请从开发者仪表板提交完全访问请求。
在范围文档中了解更多信息:https://developer.uber.com/docs/rides/scopes
我正在使用 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 上创建应用程序时使用的凭据相同)登录时,一切正常,这使我相信该实施至少具有基本意义。
问题是当我尝试另一个不相关的 Uber 登录时。那么返回的错误码是invalid_grant
问题是您需要 'request' 范围,这是一个特权范围。
好消息是,在授权您自己的帐户或您在开发者仪表板中列出的开发者帐户时,您目前可以访问这些范围。当您准备好向更多用户开放您的应用并投入生产时,请从开发者仪表板提交完全访问请求。
在范围文档中了解更多信息:https://developer.uber.com/docs/rides/scopes