2016-09-06 121 views
1

我正在使用Node-uber與Uber API進行通信。 我有下面的代碼(示例代碼的幾乎一模一樣的副本的項目,按鍵被隱藏)Uber API - 使用非開發人員登錄時的invalid_grant

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上創建應用程序的同一個憑據)登錄時,一切正常,這使我相信實現至少具有基本意義。

問題是當我嘗試另一個不相關的優步登錄。然後返回的錯誤代碼是invalid_grant

回答

2

問題是您要求的'請求'範圍是一個特權範圍。

好消息是,當您授權您自己的帳戶或您在開發人員儀表板中列出的開發人員帳戶時,您現在可以訪問這些範圍。當您準備向更多受衆開放您的應用並投入生產時,請從開發人員信息中心提交完整訪問請求。

查看更多範圍文檔:https://developer.uber.com/docs/rides/scopes

相關問題