ВсплывающеAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Всплывающе

Сообщение Anonymous »

Я новичок, создаю приложение для Android, которое использует API Google CredentialManager для AUT. Я также продолжаю запросить авторизацию для моей учетной записи Gmail (только для чтения). Я приложил свои функции для запроса и обработки авторизации ниже. Я дал ему доступ. Желая повторно испытать его, я отменил доступ через свою учетную запись Google. На мой взгляд, это должно было заставило приложение повторно расследовать разрешения. Но это никогда не было, и я не уверен в том, почему. Любая помощь высоко ценится, спасибо! < /P>

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

    // Returns Gmail AuthorizationRequest to pass into Identity.authorize()
fun getGmailAuthorizationRequest(): AuthorizationRequest {
val requestedScopes = listOf(Scope(GmailScopes.GMAIL_READONLY))
return AuthorizationRequest.builder()
.setRequestedScopes(requestedScopes)
.build()
}

suspend fun revokeGmailAccessToken(): Boolean {
val token = currentGmailAccessToken ?: return false
return try {
val url = URL("https://oauth2.googleapis.com/revoke?token=$token")
withContext(Dispatchers.IO) {
val conn = url.openConnection() as HttpURLConnection
conn.requestMethod = "POST"
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded")
conn.doOutput = true
conn.outputStream.flush()
conn.inputStream.bufferedReader().use { it.readText() }
conn.responseCode == 200
}
} catch (e: Exception) {
println(tag + "Error revoking token: ${e.message}")
false
}
}

// Handle result from Gmail scope request (authorization result)
fun handleAuthorizationResult(authResult: AuthorizationResult?): Boolean {
if (authResult == null) {
println(tag + "Authorization result is null.")
return false
}

val requestedScopes = listOf(Scope(GmailScopes.GMAIL_READONLY)).map { it.scopeUri }
val grantedScopes = authResult.grantedScopes

val hasGmailAccess = grantedScopes.containsAll(requestedScopes)
val accessToken = authResult.accessToken

println(tag + "Granted scopes: $grantedScopes")
println(tag + "Gmail Access: $hasGmailAccess")
println(tag + "Access token: $accessToken")

return if (hasGmailAccess && accessToken != null) {
currentGmailAccessToken = accessToken
println(tag + "Gmail Authorization Successful!")
true
} else {
currentGmailAccessToken = null
println(tag + "Gmail Authorization Denied.")
false
}
}
Я попытался перезагрузить приложение, но это тоже не сработало.

Подробнее здесь: https://stackoverflow.com/questions/796 ... showing-up
Ответить

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

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

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

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

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