私はuber sdkをリクエストスコープ(制限付き)で設定しています。 LoginManagerコールバックメソッドonAuthorizationCodeReceived()では、onLoginSuccess()コールバックメソッドが呼び出されていないのに対して、私はパラメータとしてauthorizationCodeを取得しています。ログインコールバックで認証コードを使用してUBERアクセストークンを取得する方法
ここ私のコードがある...
config = initialiseUberSDK();
accessTokenManager = new AccessTokenManager(this);
loginManager = new LoginManager(accessTokenManager,
new LoginCallback() {
@Override
public void onLoginCancel() {
Toast.makeText(CustomActivity2.this, "Login cancelled", Toast.LENGTH_LONG).show();
}
@Override
public void onLoginError(@NonNull AuthenticationError error) {
Toast.makeText(CustomActivity2.this,
"Error: "+error.name(), Toast.LENGTH_LONG)
.show();
}
@Override
public void onLoginSuccess(@NonNull AccessToken accessToken) {
Toast.makeText(CustomActivity2.this, "Login success",
Toast.LENGTH_LONG)
.show();
createSession();
}
@Override
public void onAuthorizationCodeReceived(@NonNull String authorizationCode) {
Toast.makeText(CustomActivity2.this, "Your Auth code is: "+authorizationCode,
Toast.LENGTH_LONG)
.show();
}
},
config,
1113).setRedirectForAuthorizationCode(true);
customButton = (Button) findViewById(R.id.button);
customButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
loginManager.login(CustomActivity2.this);
}
});
をそしてここでinitialiseUberSDK()メソッドがある...ここで
private SessionConfiguration initialiseUberSDK() {
config = new SessionConfiguration.Builder()
.setClientId(getResources().getString(R.string.client_id))
// .setServerToken(getResources().getString(R.string.server_token))
// .setClientSecret(getResources().getString(R.string.client_secret))
.setRedirectUri(getResources().getString(R.string.redirect_url))
.setEnvironment(SessionConfiguration.Environment.SANDBOX)
.setScopes(Arrays.asList(Scope.PROFILE, Scope.RIDE_WIDGETS, Scope.REQUEST))
.build();
// UberSdk.initialize(config);
return config;
}
onLoginSuccess()メソッドは呼び出されませんされています。 onAuthorizationCodeReceived()メソッドのみが呼び出されます(アクセストークンオブジェクトがnullの場合)。
私の質問には、認証コードを使用してアクセストークンを生成する方法を
のですか?以下は
(@NonNull文字列 authorizationCode)onAuthorizationCodeReceived onAuthorizationCodeReceived()メソッド...
*
ます。public voidのJavaのドキュメントであるインターフェースからコピーされ
説明: LoginCallback認証コードがリダイレクトURIに返されたときに呼び出されます。 パラメータインタフェースLoginCallbackにonAuthorizationCodeReceived :AccessToken は、 https://developer.uber.com/docs/authentication#section-step-two-receive-redirect がで指定された参照クライアントシークレットを使用して取得する必要があります authorizationCode - AccessTokenを取得するために使用することができますauthorizationCode
*