Мы разработали и опубликовали приложение для Google Health. Теперь мы хотим, чтобы каждый раз входить в учетную запись Gmail не нужно, спрашивая имя пользователя и пароль.
Чтобы сделать это, я слышал, что у меня могут быть следующие варианты.
1. OAuth
2. Менеджер по работе с клиентами
3.
Проблема с OAuth заключается в том, что он будет проходить через Android -> Web App -> Health Path, поэтому мне нужно будет также разработать веб-приложение, которое мы не хотим делать прямо сейчас.
Итак, я пытаюсь использовать Account Manager, вот мой код, с помощью которого я могу получить список учетных записей и действительный authToken для выбранной учетной записи.
AccountManager mgr = AccountManager.get(getApplicationContext());
System.out.println("Got account manager");
Account[] accts = mgr.getAccounts();
}
Account acct = accts[0];
AccountManagerFuture<Bundle> accountManagerFuture = mgr.getAuthToken(acct, "android", null, this, null, null);
Bundle authTokenBundle = accountManagerFuture.getResult();
System.out.println("Account name "+accts[0].name);
String authToken = authTokenBundle.get(AccountManager.KEY_AUTHTOKEN).toString();
System.out.println("Got token:"+authToken);
Но теперь я не совсем понимаю, как использовать этот токен для доступа к данным о здоровье.
Для получения демографической ленты мы использовали следующий код, в котором мы явно заставили пользователя войти в наше приложение.
String queryURL = "https://www.google.com/health/feeds/profile/ui/" + profileId +"/-/DEMOGRAPHICS";
getDemoGrInfoQuery = new Query(new URL(queryURL));
Feed dempGrResultFeed;
globals = new Globals();
dempGrResultFeed = healthService.query(getDemoGrInfoQuery, Feed.class);
И, таким образом, мы использовали для получения Фида, используя URL.
А теперь я хочу пропустить процесс входа в систему и использовать вышеуказанный authToken для получения канала. Как это можно сделать?
Любая помощь будет очень признательна !!!
Заранее спасибо,