Мне нужно, чтобы приложение Android получило ключ доступа к серверу с помощью OAuth для чтения событий Календаря Google.
Я уже
- Использовал идентификатор клиента веб-приложения в моемПараметры входа в Google
- Создание идентификатора клиента Android для приложения
- Извлечение отпечатка пальца SHA1 из хранилища ключей, использованного для подписи приложения, и вставка его в идентификатор клиента Android вместе с именем пакета
- Убедитесь, что signatureConfig в моем build.gradle ссылается на правильное хранилище ключей.
build.gradle
signingConfigs {
all {
storeFile file("../keystore.jks")
storePassword "****"
keyAlias "****"
keyPassword "****"
v2SigningEnabled false
}
environmenttest {
storeFile file("../keystore.jks")
storePassword "****"
keyAlias "****"
keyPassword "****"
v2SigningEnabled false
}
environmentnewkey {
storeFile file("../newkeystore.jks")
storePassword "****"
keyAlias "****"
keyPassword "****"
v2SigningEnabled false
}
environmentprod {
storeFile file("../newprodkeystore.jks")
storePassword "****"
keyAlias "****"
keyPassword "****"
v2SigningEnabled false
}
}
buildTypes {
release {
debuggable false
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField "String", "ENDPOINT", "some.endpoint.url"
buildConfigField "String", "ENDPOINT_TYPE", "\"Prod\""
manifestPlaceholders = [
appIcon: "@drawable/icon"
]
signingConfig signingConfigs.environmentprod
}
debug {
debuggable true
buildConfigField "String", "ENDPOINT", "some.endpoint.url"
buildConfigField "String", "ENDPOINT_TYPE", "\"Test\""
manifestPlaceholders = [
appIcon: "@drawable/icon"
]
applicationIdSuffix ".development"
signingConfig signingConfigs.environmentnewkey
}
}
Google для входа в код в Java
private static String GOOGLE_CONSOLE_CLIENT_ID = "XXXXXXXXXXXX-yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzz.apps.googleusercontent.com"; // This is a Web Application ID
GoogleSignInOptions gso = new
GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestScopes(new Scope(GOOGLE_CALENDAR_SCOPE))
.requestServerAuthCode(GOOGLE_CONSOLE_CLIENT_ID, true)
.requestEmail()
.build();
mGoogleSignInClient = GoogleSignIn.getClient(this, gso);
mGoogleSignInClient.signOut();
Это работает в режиме отладки.Я могу создать приложение, войти в систему с учетной записью Google и получить код авторизации сервера.Но это не удается в режиме выпуска.Я не могу войтиВместо этого я получаю код ошибки 12500.