我是使用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)用户名应该是什么,我可以在哪里得到?
的用户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