Ich versuche, Uber Login und Ride Request mit Uber-APIs zu integrieren. Ich habe den Login-Teil erfolgreich abgeschlossen und versucht, den Ride Request-Teil zu integrieren. Unten ist mein Code-Snippet für das -Uber Ride Anfrage mit API
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();
Jedes Mal, wenn ich diese laufen und versuchen, das Protokoll zu überprüfen, ist es in der .build OAuth stürzt() Linie. Hier
ist der Fehler Ich erhalte -
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)
Aber ich habe bereits die Client-ID und Geheim gesetzt.
Absolut verwirrt mit dem, was passiert. Bitte helfen Sie.
Was die Umleitung URI sein sollte? Ich verwende "http: // localhost: 8000 /" für jetzt, wird das funktionieren? Ich habe die gleiche Umleitung UI auf Uber Entwicklerkonto registriert –