2016-08-25 85 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

回答

相关问题