1

このGoogle サインインの公式ガイドと同様のコードがあります。ユーザーがサインイン ボタンをクリックし、ローカルの Google プロファイルを選択してログインすると、メール/パスワードの Web ビューに誘導されます。強制ログインが存在するにもかかわらず、Facebook ログインと並行して実行される完全な Google ログイン フローがあります。

Google サインイン メール/パスワード UI を使用せずに、ローカルの Google アカウントから名前、メール、トークンを取得できるように、これを処理するより簡単な方法はありますか?

提供されているユーザー プロファイルを見てクリックしましたが、クリックすると、電子メール/パスワードを要求する Web ビューが開きます。

ここにいくつかのコードがあります。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestServerAuthCode("myauthcode")
            .requestEmail()
            .build();


    mGoogleApiClient = new GoogleApiClient.Builder(getActivity())
            .addConnectionCallbacks(this)
            .addOnConnectionFailedListener(this)
            .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
                       .build();
    mGoogleApiClient.connect();

    FacebookSdk.sdkInitialize(getActivity());
}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == RC_SIGN_IN) {
        GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
        handleSignInResult(result);
        return;
    }
4

1 に答える 1

0

を使用するとAuth.CREDENTIALS_API、次のようになります。Smart Lock 統合フロー

資格情報を持っていない、または明示的にサインアウトしたユーザーの場合、サインイン/サインアップ フローを経て、サービスで新しいアカウントを作成します。

Smart Lock の統合

独自のサインイン フローがない場合CREDENTIALS_API. 代わりに、GOOGLE_SIGN_IN_APIそれで取得できる名前、電子メール、およびトークンのみを使用してください。

于 2016-05-11T04:13:21.073 に答える