2016-08-25 86 views
0

我是使用Java的API的新手。我需要訪問優步API的我的項目,我使用優步Java SDK從 - https://github.com/uber/rides-java-sdkUber Rides JAVA SDK:無法請求令牌

我按照他們的步驟,但以某種方式獲取身份驗證憑據的錯誤。下面是我的步驟:

1)創建OAuth2Credentials對象

SessionConfiguration config = new SessionConfiguration.Builder() 
       .setClientId(CLIENT_ID) 
       .setClientSecret(MY_SECRET) 
       .setRedirectUri(REDIRECT_URL) 
       .setScopes(Arrays.asList(Scope.HISTORY, Scope.PROFILE, Scope.PLACES)) 
       .build(); 

OAuth2Credentials credentials = new OAuth2Credentials.Builder() 
       .setSessionConfiguration(config) 
       .build(); 

2)將用戶導航到授權URL從OAuth2Credentials對象。

String authorizationUrl = credentials.getAuthorizationUrl(); 

3)一旦用戶批准請求,您將獲得一個授權碼。創建一個憑證對象來存​​儲授權碼和用戶ID。

Credential credential = credentials.authenticate(authorizationCode, userId); 

**我使用「authorizationCode」回到我REDIRECT_URL **我不知道應該是什麼樣的用戶ID?

但真正的代碼在第3步失敗,錯誤:

HTTP ERROR 500 

Problem accessing /hello. Reason: 

    Unable to request token. 
Caused by: 

com.uber.sdk.rides.auth.AuthException: Unable to request token. 
    at com.uber.sdk.rides.auth.OAuth2Credentials.authenticate(OAuth2Credentials.java:279) 
    at com.c2p.HelloAppEngine.doGet(HelloAppEngine.java:183) 

***請幫忙:

1)如何解決上面的錯誤 - 我做錯什麼不對? 2)我的步驟是否正確? 3)用戶名應該是什麼,我可以在哪裏得到?

+0

的用戶ID被認爲是被用作密鑰存儲在底層數據存儲的憑證的字符串。更多細節可以在這裏找到:https://github.com/uber/rides-java-sdk/blob/master/sdk/src/main/java/com/uber/sdk/rides/auth/OAuth2Credentials.java#L264 。看看這個錯誤(第279行),它表明它是由IOException引發的。因此,在我看來,你的問題與userId無關。你可以分享你的整個類/方法以獲得更多的上下文嗎? – agraebe

回答