我想请求一个令牌,这样我就可以在我的Gmail帐户中登录Postman,然后调用Google Cloud API。
我正在尝试通过输入我的Gmail电子邮件地址和密码来实现,如您从这张图片中所见。 最终目标是获得像这样的API。
我可以通过使用我的Gmail账号从gcloud登录(“gcloud auth application-default login”),然后使用gcloud auth application-default print-access-token打印令牌,将打印的令牌复制并粘贴到访问令牌(Postman)中来完成它。这很有效,但是它有点强制我启动和安装gcloud。我非常确定我可以通过使用与我在gcloud中登录的相同的用户签名来实现相同的想法。我只是不知道如何在Postman中执行此操作。我读过的所有内容都导致了我粘贴在上面的图像,但是它失败并出现错误。如果相关,请参阅我获取令牌的gcloud控制台。
当我尝试时
这是在凭据屏幕中创建的OAuth客户端ID。
我正在尝试通过输入我的Gmail电子邮件地址和密码来实现,如您从这张图片中所见。 最终目标是获得像这样的API。
https://monitoring.googleapis.com/v1/projects/firetestjimis/dashboards
我可以通过使用我的Gmail账号从gcloud登录(“gcloud auth application-default login”),然后使用gcloud auth application-default print-access-token打印令牌,将打印的令牌复制并粘贴到访问令牌(Postman)中来完成它。这很有效,但是它有点强制我启动和安装gcloud。我非常确定我可以通过使用与我在gcloud中登录的相同的用户签名来实现相同的想法。我只是不知道如何在Postman中执行此操作。我读过的所有内容都导致了我粘贴在上面的图像,但是它失败并出现错误。如果相关,请参阅我获取令牌的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: /
当我尝试时
我从中复制的客户端 ID
在Madhead的建议下进行了编辑
我仔细地按照提供的所有步骤操作,确实可以通过在Postman上点击“获取新的访问令牌”来直接获得Google Token。然而,它会出现问题。
{
"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客户端ID。
{"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进行验证才能发布。”
当我点击“提交验证”时,它会抱怨应用主页和应用隐私链接。