0

GoogleアカウントをGoogleAccountCredential.usingOAuth2に設定したいが、アカウントを設定するnewChooseAccountIntentメソッドを使用したくない。newChooseAccountIntent()を使用せずにGoogleアカウントを設定する

コード: - abovrコードで

private static final String[] SCOPES = {DriveScopes.DRIVE_FILE, DriveScopes.DRIVE_APPDATA, DriveScopes.DRIVE_METADATA_READONLY}; 

mCredential = GoogleAccountCredential.usingOAuth2(
       getApplicationContext(), Arrays.asList(SCOPES)) 
       .setBackOff(new ExponentialBackOff()); 

startActivityForResult(
        mCredential.newChooseAccountIntent(), 
        REQUEST_ACCOUNT_PICKER); 

protected void onActivityResult(
      int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 

      switch (requestCode) { 

      case REQUEST_ACCOUNT_PICKER: 
       if (resultCode == RESULT_OK && data != null && 
         data.getExtras() != null) { 
        String accountName = 
          data.getStringExtra(AccountManager.KEY_ACCOUNT_NAME); 
        if (accountName != null) { 
         mCredential.setSelectedAccountName(accountName); 
        } 
       } 
       break; 
     } 
} 

私はmCredential.newChooseAccountIntentを(使用しない)私はちょうどこのメソッドなしsetAccountしたい、だから、それは可能できますか。?

GoogleのEsファイルエクスプローラでこの方法を見て、この方法を使わずにgoogleドライブにログインしました。

あなたがnewChooseAccountIntentを(使用したくない場合は、これを使用することができます
+0

あなたはGoogleSignInOptionsとGoogleApiClientを使用することができます。 – Furqan

答えて

0

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
        .requestEmail() 
        .requestIdToken(serverClientId) 
        .requestScopes(new Scope(DriveScopes.DRIVE_FILE)) 
        .build(); 

      mGoogleApiClient = new GoogleApiClient.Builder(this) 
        .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */) 
        .addApi(Auth.GOOGLE_SIGN_IN_API, gso) 
        .build(); 

      mGoogleApiClient.connect(); 

      Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); 
      startActivityForResult(signInIntent, RC_AUTHORIZE_CONTACTS); 

参考リンク:https://developers.google.com/identity/sign-in/android/start-integrating

+0

serverClientIdとは何ですか? –

+0

参照リンクにアクセスしてこのセクションを確認してください: 「バックエンドサーバーのOAuth 2.0クライアントIDを取得する」 – Furqan

+0

Google開発者用コンソールにプロジェクトを登録する必要があります。 – Furqan

関連する問題