Uber Rides JAVA SDK:无法请求令牌

问题描述 投票:0回答:1

我是Java中使用API​​的新手。我需要为我的项目访问Uber API,我正在使用来自-https://github.com/uber/rides-java-sdk的Uber 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)将用户从OAuth2Credentials对象导航到授权URL。

String authorizationUrl = credentials.getAuthorizationUrl();

3)用户批准请求后,您将获得授权码。创建凭证对象以存储授权代码和用户ID。

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

**我使用“authorizationCode”返回我的REDIRECT_URL **我不确定userID应该是什么?

但是真正的代码在STEP 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)UserID应该是什么,我在哪里可以得到它?

java google-app-engine uber-api
1个回答
0
投票

为了获得用户uuid,您需要获取访问令牌并向https://developer.uber.com/docs/rides/api/v1-me发出请求。

UserProfile userProfile = uberRidesService.getUserProfile().execute().body();

请参阅sdk:https://github.com/uber/rides-java-sdk/blob/master/samples/servlet-sample/src/main/java/com/uber/sdk/rides/samples/servlet/SampleServlet.java中包含的java示例应用程序

© www.soinside.com 2019 - 2024. All rights reserved.