Как войти в OAuth 2.0 с помощью пользовательских вкладок Chrome (Fitbit API)

Fitbit API больше не поддерживает веб-просмотр.

Итак, я изучил вкладки chrome custom и применил в своем приложении.

Но после входа в систему, когда я нажал эту розовую кнопку (кнопка "Разрешить" ), ничего не произошло. (Изображение ниже)

Fitbit API Login Image

Как я могу получить токен доступа и сохранить его в приложении?

Пожалуйста, помогите мне.

Спасибо.

Ответ 1

При авторизации снова с помощью Fitbit API вам необходимо предоставить redirect_uri, куда пользователь будет redirect_uri после входа в систему. Вам необходимо указать URI, который вернет пользователя в ваше приложение.

Для этого создайте фильтр намерений и добавьте тег данных с пользовательской схемой, такой как myapplication://logincallback в действие, которое вы хотите обработать при входе в систему.

Фильтр намерений будет выглядеть примерно так:

<intent-filter . . . >
    <data android:scheme="myapplication" android:host="logincallback" />
    . . .
</intent-filter>

Теперь установите redirect_uri как mypplication://logincallback для шага авторизации потока, и когда пользователь нажимает розовую кнопку, он должен открыть действие, в которое вы добавили фильтр намерений.

Вы сможете получить параметры внутри вашей деятельности, вызвав getData в Intent.

Ответ 2

<intent-filter>
            <action android:name="android.intent.action.VIEW" />

            <category android:name="android.intent.category.DEFAULT" />
            <category android:name="android.intent.category.BROWSABLE" />

            <data
                android:host="logincallback"
                android:pathPattern=".*"
                android:scheme="myapp" />
        </intent-filter>

Предположим, у вас есть redirect_uri myapp://logincallback, затем добавьте приведенный выше код в свою деятельность в XML файл Manifest, и он будет работать.