Я просмотрел десятки ответов по этой теме, следовал официальному краткому руководству и сделал все, что мог придумать.
Я настроил свою консоль разработчика Google во всех ее частях, включая настройку правильных ключей отладки SHA1 как для OAuth, так и для доступа к общедоступному API (даже не знаю, было ли это необходимо).
Проблема
У меня проблемы с настройкой областей для моего GoogleApiClient
.
googleClient = new GoogleApiClient.Builder(this)
.addConnectionCallbacks(this)
.addOnConnectionFailedListener(this)
.addApi(Plus.API)
.addScope(...)
.build();
Я могу войти в систему с различными комбинациями областей:
.addScope(new Scope("https://www.googleapis.com/auth/plus.login"))
.addScope(new Scope("https://www.googleapis.com/auth/plus.profile.emails.read"))
//WORKS! OR:
.addScope(Plus.SCOPE_PLUS_LOGIN) // == https://www.googleapis.com/auth/plus.login
.addScope(Plus.SCOPE_PLUS_PROFILE) // == https://www.googleapis.com/auth/plus.me
//WORKS! OR:
.addScope(new Scope("https://www.googleapis.com/auth/plus.profile.emails.read"))
//WORKS! OR:
.addScope(Plus.SCOPE_PLUS_PROFILE) // == https://www.googleapis.com/auth/plus.me
//WORKS!
Все они работают хорошо, и я вижу их отражение в запросах (т. е. если я установлю login
+ emails.read
, диалог фактически запросит эти два).
Произошла внутренняя ошибка.
Так что этот прицел (единственный, который мне нужен) работает в связке с другими (например, plus.me), а не в одиночку. Почему так и что я могу сделать?