Я пытаюсь использовать Google oauth для аутентификации пользователей в приложении для Android. Затем я хотел бы отправить его на сервер приложений, чтобы он мог в любой момент подключиться к календарю Google.
Я попытался использовать GoogleAuthUtil.getToken(getApplicationContext(), mAccountName, mScope);
Следуя этой статье: https://developers.google.com/accounts/docs/CrossClientAuth
Когда я использую его с областью
mScope = "oauth2:https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile";
Я получаю токен, который действителен в течение часа
Но когда я пытаюсь получить код авторизации (так что я могу получить токен обновления, который действителен в течение более длительного времени, используя
mScope2 ="oauth2:server:client_id:{CLIENT_ID}.apps.googleusercontent.com"+ ":api_scope:https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile";
Я получаю либо исключения "invalid_scope", либо "Неизвестные".
Что я делаю неправильно?
EDIT: ОК. После создания нового приложения на консоли Google API и добавления в область видимости plus.login я получаю код, но по какой-то причине мой сервер не может решить этот токен. При связывании для разрешения сервера получает сообщение об URL-адресе перенаправления. BTW, Когда я делаю веб-поток с одинаковыми параметрами, он работает.