Android Google Oauth NoCredentialException: учетные данные недоступныAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Android Google Oauth NoCredentialException: учетные данные недоступны

Сообщение Anonymous »

Я работаю над интеграцией Google OAuth в свое приложение для Android, как описано на странице
https://developer.android.com/training/ ... al-manager#. siwg-button
Однако в момент вызова credentialManager.getCredential я сталкиваюсь с ошибкой «NoCredentialException: нет доступных учетных данных». Я создал проект в Google Cloud и добавил WebClient и Android Client в настройках OAuth. В своем коде я ввел идентификатор веб-клиента. Каково решение этой досадной ошибки?
Изображение
< /p>
Вот мой код

Код: Выделить всё

    private fun googleLogin(context: Context) {
val googleIdOption: GetGoogleIdOption = GetGoogleIdOption.Builder()
.setFilterByAuthorizedAccounts(true)
.setAutoSelectEnabled(true)
.setServerClientId("!!!!Web Server Client ID!!!!!")
.build()

val request: GetCredentialRequest = GetCredentialRequest.Builder()
.addCredentialOption(googleIdOption)
.build()

val credentialManager = CredentialManager.create(context)

viewModelScope.launch {
val loginFlow = flow {

val result = credentialManager.getCredential(
context = context,
request = request
)
**// Boom! NoCredentialException: No credentials available**

emit(result.credential)
}.catch { e ->
if(e is NoCredentialException) {
Log.e("TAG", "loginSuccess NoCredentialException", e)
}
}.collect {
loginSuccess(it)
}
}
}

private fun loginSuccess(credential: Credential) {
when(credential) {
is PasswordCredential -> {
val password = credential.password
val id = credential.id
Log.e("TAG", "loginSuccess id: $id password: $password")
}
is GoogleIdTokenCredential -> {
val idToken = credential.idToken
Log.e("TAG", "loginSuccess idToken: $idToken")
}
is PublicKeyCredential -> {
Log.e("TAG", "loginSuccess PublicKeyCredential")
}
is CustomCredential -> {

if(credential.type == GoogleIdTokenCredential.TYPE_GOOGLE_ID_TOKEN_CREDENTIAL) {
try {

val googleIdTokenCredential = GoogleIdTokenCredential.createFrom(credential.data)
Log.e("TAG", "loginSuccess idToken: ${googleIdTokenCredential.idToken}  ${googleIdTokenCredential.displayName}")
} catch (e: GoogleIdTokenParsingException) {
e.printStackTrace()
}
}
else {
Log.e("TAG", "Unexcepted CustomCredential type: ${credential.type}")
}
}
}
}
Я хочу войти в систему Google OAuth в собственном приложении Android


Подробнее здесь: https://stackoverflow.com/questions/778 ... -available
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Android Google Oauth NoCredentialException: учетные данные недоступны
    Anonymous » » в форуме Android
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Android Google Oauth NoCredentialException: учетные данные недоступны
    Anonymous » » в форуме Android
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Android Google Oauth NoCredentialException: учетные данные недоступны
    Anonymous » » в форуме Android
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Android Google Oauth NoCredentialException: учетные данные недоступны
    Anonymous » » в форуме Android
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Android Google oauth nocredentialexception: нет учетных данных
    Anonymous » » в форуме Android
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Android»