0

我正在尝试实现 Google Fitness API(GFA) 并检索有关用户的数据。当我尝试使用 google 帐户登录时,结果代码为 RESULT_CANCELED。我在 Google Cloud Console 上启用了 GFA,输入了我的 SHA-1 代码并获得了客户端 ID。我实现了最新版本的健身和身份验证库。这是我用来显示登录弹出窗口的代码:

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestEmail()
            .requestScopes(new Scope(Scopes.FITNESS_ACTIVITY_READ_WRITE))
            .build();

    googleApiClient = new GoogleApiClient.Builder(activity)
            .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
            .addConnectionCallbacks(connectionCallbacks)
            .addOnConnectionFailedListener(failedListener)
            .addApi(Fitness.HISTORY_API)
            .addApi(Fitness.SESSIONS_API)
            .addApi(Fitness.RECORDING_API)
            .addApi(Fitness.SENSORS_API)
            .build();

我如何处理结果:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Log.d(TAG, "OnActivityResult called");
    if (requestCode == 1) {
        authInProgress = false;
        if (resultCode == RESULT_OK) {
            Log.d(TAG, "Result_OK");
            if (!googleApiClient.isConnecting() && !googleApiClient.isConnected()) {
                Log.d(TAG, "Calling googleApiClient.connect again");
                googleApiClient.connect(GoogleApiClient.SIGN_IN_MODE_OPTIONAL);
            }
        } else if (resultCode == RESULT_CANCELED) {
            Log.d(TAG, "RESULT_CANCELED");
        }
    } else {
        Log.d(TAG, "requestCode NOT request_oauth");
    }
}

我不知道如何完成登录过程并继续使用 Fitness API。

4

0 回答 0