Страница Google Fit OAuth на Android зависла при загрузке знака после выбора учетной записи

Я разрабатываю с помощью Google Fit API на Android. Я настроил свой проект, следуя руководству из google doc. Но когда я проверяю авторизацию на реальном устройстве, он показывает белую страницу со знаком загрузки после того, как я выбираю свою учетную запись Google, например изображение. Он просто загружается навсегда и без каких-либо ошибок.

Вот что я сделал в своем проекте:

// AndroidManife
// because target API level 28
<uses-permission android:name="com.google.android.gms.permission.ACTIVITY_RECOGNITION" />
// google-services.json
"oauth_client": [
        {
          "client_id": "xxx-xxx.apps.googleusercontent.com",
          "client_type": 1,
          "android_info": {
            "package_name": "xxx.xxx.xxx",
            "certificate_hash": "xxxxhash"
          }
        },
        {
          "client_id": "xxx-xxx.apps.googleusercontent.com",
          "client_type": 3
        }
      ]
// my auth activity, sample code from google doc
FitnessOptions fitnessOptions = FitnessOptions.builder()
      .addDataType(DataType.TYPE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
      .addDataType(DataType.AGGREGATE_STEP_COUNT_DELTA, FitnessOptions.ACCESS_READ)
      .build();

    GoogleSignInAccount account = GoogleSignIn.getAccountForExtension(this, fitnessOptions);

    if (!GoogleSignIn.hasPermissions(account, fitnessOptions)) {
      GoogleSignIn.requestPermissions(
        this, // your activity
        GOOGLE_FIT_PERMISSIONS_REQUEST_CODE, // e.g. 1
        account,
        fitnessOptions);
    }

Идентификатор клиента OAuth 2.0 работает в Google API Console. Я проверяю правильность хранилища ключей SHA-1.

Я также поместил хранилище ключей SHA-1 в настройки проекта Firebase.

Вход в Google открывается в Firebase Authentication -> Sign-in Method.

Что я пропустил? Что я должен делать? Помогите пожалуйста мне. Большое спасибо.


person Shuai    schedule 22.07.2020    source источник


Ответы (2)


Я понимаю это. Это потому, что я не редактировал имя своего приложения в Google API Console -> экран согласия OAuth.

person Shuai    schedule 23.07.2020
comment
Есть несколько причин, но в основном это связано с конкретным объемом. В моем случае пользователь, которого я выбирал, не был добавлен в качестве тестового пользователя для моего экрана согласия oauth. - person imLolman; 18.02.2021

Для меня проблема заключалась в том, что мой проект был помечен как внешний на экране согласия oAuth. В этом случае вам нужно добавить тестового пользователя, чтобы продолжить использовать API-интерфейсы Google Fit в приложении.

person Minkesh Jain    schedule 07.06.2021