OAuth работает только для некоторых учетных записей Google?

Уф. должен любить OAuth ...

TL; DR; код OAuth 2.0, который мне удалось собрать из единственного примера проекта API календаря для Android, который мне удалось найти, работает только с несколькими учетными записями.

Половина моих друзей щелкают серый диалог со своим Gmail и выбирают свою учетную запись, появляется белый + синий экран с запросом согласия и бум! события берутся из календаря Google.

другая половина моих друзей щелкает серый текст диалога со своим Gmail, и экран согласия не появляется, а просто мигает серый диалог с их Gmail, предлагая им снова выбрать свою учетную запись.

Вот сложный код:

Моя активность java:https://pastebin.com/mcxLfGZR

no code pasted because its very long

Apisynctask.java для этого:https://pastebin.com/p7Wx2Lm2

no code pasted once again

Мой Activity.xml:https://pastebin.com/KELRqYHD И (идет с шаблонами студии Android ...) https://pastebin.com/Bbev37ye <--- содержимое для указанной выше вставки

no code pasted once again because long-ish

Я считаю, что это либо версия Android, либо учетная запись Google, либо устройство, и я не могу его сузить.

В любом случае, я был бы признателен за любую помощь в том, чтобы заставить это работать для всех, а не только для горстки людей, как я уже сказал, это работает только для меня и половины моих друзей. Благодарность!

Редактировать: При повторном появлении сообщения об ошибке в logcat не возникает. код скачет повсюду (я пробовал помещать сообщения журнала в каждый фрагмент кода, чтобы увидеть, куда он идет, а где дает сбой - до бесконечности)

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
75
1

Ответы 1

Вы можете установить Параметры авторизации для создания запроса авторизации.

You can prompt the user to re-authorize your app by adding the prompt=consent parameter to the authentication request. When prompt=consent is included, the consent screen is displayed every time the user logs into your app. For this reason, include prompt=consent only when necessary.

prompt

Optional. A space-delimited, case-sensitive list of prompts to present the user. If you don't specify this parameter, the user will be prompted only the first time your app requests access. Possible values are:

  • none - The authorization server does not display any authentication or user consent screens; it will return an error if the user is not already authenticated and has not pre-configured consent for the requested scopes. You can use none to check for existing authentication and/or consent.
  • consent - The authorization server prompts the user for consent before returning information to the client.
  • select_account - The authorization server prompts the user to select a user account. This allows a user who has multiple accounts at the authorization server to select amongst the multiple accounts that they may have current sessions for.

Примечание: Если значение не указано и пользователь ранее не авторизовал доступ, то пользователю отображается экран согласия.

Я все еще в замешательстве? это также для Android Java?

Zunkey 11.10.2018 21:34

Извините за путаницу, это для подключения openID - позволяет клиентам всех типов, включая веб-клиенты, мобильные клиенты и клиенты JavaScript, запрашивать и получать информацию об аутентифицированных сеансах и конечных пользователях.

jess 12.10.2018 03:55

Другие вопросы по теме