Я хочу запросить токен, чтобы мой почтальон вошел в мою учетную запись Gmail, а затем я мог вызвать API Google Cloud.
Я пытаюсь ввести свой адрес электронной почты Gmail и пароль от вашего имени как видно из этого изображения
Конечная цель - получить API, подобные этому
https://monitoring.googleapis.com/v1/projects/firetestjimis/dashboards
Я могу сделать это, войдя в систему с мою учетную запись Gmail из gcloud («gcloud auth application-default login»), затем распечатайте токен с помощью gcloud auth application-default print-access-token, скопируйте распечатанный токен и вставьте его в токен доступа (почтальон). Что ж, это работает, но это как бы обязывает меня запустить gcloud и установить его. Я почти уверен, что смогу достичь той же идеи, подписавшись с тем же пользователем, с которым я вошел в gcloud. Я просто не знаю, как это сделать с Почтальоном. Все, что я прочитал за последние часы, привело меня к изображению, которое я вставил выше, но в этом вопросе возникает ошибка.
Если это актуально, вот консоль gcloud, где я получаю токен
C:\Program Files (x86)\Google\Cloud SDK>gcloud auth application-default print-access-token
C:\Program Files (x86)\Google\Cloud SDK\google-cloud-sdk\bin\..\lib\third_party\google\auth\_default.py:69: UserWarning: Your application has authenticated using end user credentials from Google Cloud SDK. We recommend that most server applications use service accounts instead. If your application continues to use end user credentials from Cloud SDK, you might receive a "quota exceeded" or "API not enabled" error. For more information about service accounts, see https://cloud.google.com/docs/authentication/
warnings.warn(_CLOUD_SDK_CREDENTIALS_WARNING)
ya29.a0Ae4lvC3-3WxUmx... removed token ... hs251yTql3eEE
C:\Program Files (x86)\Google\Cloud SDK>
*** Немного отредактировано после первой публикации
Другие предварительные результаты дают
Erro 400: invalid_request
Invalid parameter value for redirect_uri: Missing scheme: /
Когда я пробовал
Идентификатор клиента, который я скопировал из
*** отредактирован после предложения Мэдхеда
Я подписался внимательно все предложенные шаги, и действительно, я могу получить токен Google прямо от почтальона, нажав Получить новый токен доступа. Тем не менее, он получает
{
"error": {
"code": 403,
"message": "Request had insufficient authentication scopes.",
"status": "PERMISSION_DENIED"
}
}
Для этих двух вариантов от Postman (вставлен скрипт curl, так как его легче оценить из других, чем экран Postman)
curl --location --request GET 'https://monitoring.googleapis.com/v1/projects/firetestjimis/dashboards' --header 'Authorization: Bearer ya29. *** token *** kO3Fg'
curl --location --request POST 'https://firestore.googleapis.com/v1/projects/firetestjimis/databases/(default)/documents:runQuery' --header 'Authorization: Bearer ya29. *** token *** kO3Fg' --header 'Content-Type: application/json' --data-raw '{
"structuredQuery": {
"where" : {
"fieldFilter" : {
"field": {"fieldPath": "id"},
"op":"EQUAL",
"value": {"stringValue": "1"}
}
},
"from": [{"collectionId": "transfer"}]
}
}'
Вот идентификатор клиента OAuth создается на экране учетных данных
{"web":{"client_id":"7953 *** 5k6e9ivtdg.apps.googleusercontent.com","project_id":"firetestjimis","auth_uri":"https://accounts.google.com/o/oauth2/auth","token_uri":"https://oauth2.googleapis.com/token","auth_provider_x509_cert_url":"https://www.googleapis.com/oauth2/v1/certs","client_secret":"IJGCe *** Du6bU","redirect_uris":["https://oauth.pstmn.io/v1/callback"]}}
как загружено из
А вот
*** отредактировано
*** отредактировано
*** отредактировано после успешного добавления двух областей действия
В нем говорится: «Так как вы добавили конфиденциальную область, ваш экран согласия требует проверки Google перед публикацией»
И когда я нажал «Отправить для проверки», я увидел, что он жалуется на ссылки на домашнюю страницу приложения и конфиденциальность приложений