#google-api-client #google-fit-sdk #google-fit-api #google-client-login
#google-api-клиент #google-fit-sdk #google-fit-api #google-клиент-вход в систему
Вопрос:
Я пытаюсь реализовать Google Fitness API(GFA) и получить данные о пользователе. Когда я пытаюсь войти в систему с помощью учетной записи Google, код результата-RESULT_CANCELED. Я включил GFA на облачной консоли Google, ввел свой код SHA-1 и получил идентификатор клиента. Я внедрил библиотеку фитнеса и аутентификации, последнюю версию. Вот код, который я использую для отображения всплывающего окна входа:
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() amp;amp; !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"); } }
Я не знаю, как завершить процесс входа в систему и продолжить работу с фитнес-API.