В настоящее время я занимаюсь разработкой приложения для Android, которое будет извлекать данные пользователя из веб-API Fitbit.
Я понимаю, что мне нужно использовать OAuth2 для аутентификации в Fitbit, а затем использовать сгенерированный токен доступа вдля того, чтобы совершать звонки в Fitbit Web API для получения данных пользователя.
У меня есть следующий код при нажатии кнопки на одном из моих действий, и он, кажется, работает как ожидалось.При нажатии на него открывается Chrome CustomTab, где пользователь может войти в Fitbit, а затем утвердить или отклонить запрошенные разрешения.Затем он успешно перенаправляет обратно в мое приложение.
String url = "https://www.fitbit.com/oauth2/authorize?" +
"response_type=token&" +
"client_id=XXXXX&" +
"redirect_uri=XXXXXX&" +
"scope=activity&" +
"expires_in=50";
CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder();
CustomTabsIntent customTabsIntent = builder.build();
customTabsIntent.launchUrl(this, Uri.parse(url));
Однако у меня проблема в том, что я не знаю, как получить и сохранить сгенерированный токен доступа для последующего использования.
Примечание. Если я изменяю redirect_uri на веб-страницу, я вижу, что после перенаправления он добавляет URL-адрес с требуемым токеном доступа, но моя проблема заключается в том, как получить к нему доступ, если вместо этого он перенаправляет обратно в мое приложение?
Здесь много вопросов относительно аутентификации через OAuth2, однако ни один из них, кажется, не упоминает, как получить токен доступа из URL-адреса обратного вызова CustomTabs.
Я не получаю никаких ошибокили что-нибудь, просто CustomTab перенаправляет обратно в мое приложение после аутентификации пользователя, но я не знаю, как получить и сохранить токен доступа на этом этапе.
Любая помощь будет высоко ценится,
Приветствия