Я пытался настроить Google+ OAuth и AWS Cognito в своем приложении для Android. Сейчас у меня есть Google+ OAuth работает я верю, потому что я в состоянии получить счет от ниже вызова:Android-приложение с использованием AWS Cognito, Google+ OAuth и AccountManager
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
С этого объекта результата я могу получить некоторые данные приведены ниже:
if (result.isSuccess()) {
GoogleSignInAccount account = result.getSignInAccount();
String authCode = account.getServerAuthCode(); //null
String displayName =account.getDisplayName(); //correct value
String email = account.getEmail(); //correct value
String id = account.getId(); //correct value
String idToken = account.getIdToken(); //null
...
Однако, когда я следую документации AWS, я получаю ошибки и устаревшие методы. Вот блок кода я пытаюсь имитировать из документации AWS по:
Документация: http://docs.aws.amazon.com/cognito/latest/developerguide/google.html#set-up-google-1.android#Android
//From Documentation^
GooglePlayServicesUtil.isGooglePlayServicesAvailable(getApplicationContext());
AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccountsByType(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
String token = GoogleAuthUtil.getToken(getApplicationContext(), accounts[0].name,
"audience:server:client_id:YOUR_GOOGLE_CLIENT_ID");
Map<String, String> logins = new HashMap<String, String>();
logins.put("accounts.google.com", token);
credentialsProvider.setLogins(logins);
Вот где я бегу в проблемы:
AccountManager am = AccountManager.get(context);
Account[] accounts = am.getAccountsByType(GoogleAuthUtil.GOOGLE_ACCOUNT_TYPE);
После этого вызова счетов пустой массив - мне нужно что-то сделать, чтобы гарантировать, что процесс OAuth помещает информацию в AccountManager?
*** Еще одна вещь, о которой я не знал, документация AWS (по приведенной выше ссылке) гласит, что в качестве шага № 5 для настройки google я должен выполнить следующие шаги, которые я не могу получить справа: «В разделе« Учетные данные »>« Добавить учетные данные »создайте учетную запись« Служба ». Консоль предупредит вас о создании нового открытого/закрытого ключа».
Google изменил свой пользовательский интерфейс, и теперь есть 3 варианта, создание пользовательской учетной записи службы и использование одной из двух учетных записей по умолчанию (движок движка/калькулятор). Что мне делать?