Android и "сервер" outh keys gcloud
У меня есть мандаты OAuth2.0 для аутентификации с помощью outh2.0 для android и ios, я получаю доступ и рефрештокены. Я храню refreshToken .
Затем на сервере django я пытаюсь получить новый access_token
с указанным выше маркером обновления, отправив сообщение на https://accounts.google.com/o/oauth2/token, используя новые учетные данные Auth2.0 для веб-приложения.
params = {
"grant_type": "refresh_token",
"refresh_token": user_refresh_token,
"token_uri": authorization_url,
"access_type": "offline",
"client_id": client_id,
"redirect_uri": "https://www.googleapis.com/oauth2/v4/token",
"client_secret": client_secret,
}
errorУчетные данные не содержат необходимых полей, необходимых для обновления маркера доступа. Вы должны указать refresh_token, token_uri, client_id и client_secret
.
Токен доступа затем используется для получения кредов и доступа к календарю пользователя.
creds = google.oauth2.credentials.Credentials(access_token)
service = build('calendar', 'v3', credentials=creds)
Обратите внимание, что ключи относятся к одному и тому же проекту.
Есть ли способ использовать учетную запись службы для получения маркера обновления?
Могу ли я использовать разные учетные данные oAuth для одного проекта?
Могу ли я "объединить"/"смешать" клиентов?
Что я могу сделать, чтобы получить маркер обновления с учетными данными веб-приложения?