-1
Uber APIを使用してUber LoginとRide Requestを統合しようとしています。私は正常にログイン部分を完了し、ライドリクエストの部分を統合しようとしています。私はこれを実行し、ログをチェックしてみてくださいするたびに、それはOAuthのの.build()ラインでクラッシュし、APIを使用したUber Rideリクエスト
SessionConfiguration config = new SessionConfiguration.Builder()
// mandatory
.setClientId("abc")
// required for enhanced button features
.setServerToken("xyz")
// required for implicit grant authentication
.setRedirectUri("https://login.uber.com/oauth/authorize")
// required scope for Ride Request Widget features
.setScopes(Arrays.asList(Scope.RIDE_WIDGETS, Scope.PROFILE, Scope.REQUEST))
// optional: set Sandbox as operating environment
.setEnvironment(SessionConfiguration.Environment.SANDBOX)
.build();
UberSdk.initialize(config);
OAuth2Credentials credentials = new OAuth2Credentials.Builder()
.setSessionConfiguration(config)
**.build();**
try {
String authorizationUrl = credentials.getAuthorizationUrl();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
Credential credential = credentials.authenticate(authorizationCode, userId);
CredentialsSession session = new CredentialsSession(config, credential);
RidesService service = UberRidesApi.with(session).createService();
- 以下は、そのための私のコードスニペットです。
java.lang.IllegalStateException: Client ID and secret must be set.
Caused by: java.lang.IllegalStateException: Client ID and secret must be set.
at com.uber.sdk.rides.client.utils.Preconditions.checkState(Preconditions.java:66)
at com.uber.sdk.rides.auth.OAuth2Credentials$Builder.validate(OAuth2Credentials.java:170)
at com.uber.sdk.rides.auth.OAuth2Credentials$Builder.build(OAuth2Credentials.java:181)
at com.rahul.uberapi.android.demo.DemoActivity.onCreate(MainActivity.java:119)
at android.app.Activity.performCreate(Activity.java:5990)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2311)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2420)
at android.app.ActivityThread.access$900(ActivityThread.java:154)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5292)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:904)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:699)
しかし、私はすでにクライアントIDとシークレットを設定している - ここで
は、私が取得していますエラーです。
何が起こっているかとはまったく混同されています。助けてください。
リダイレクトURIがどうあるべきか?私は "http:// localhost:8000 /"を使っていますが、これは動作しますか? uberデベロッパーアカウントに同じリダイレクトURIを登録しました –