Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google cloud platform 授权对GCP的REST API调用_Google Cloud Platform_Google Oauth - Fatal编程技术网

Google cloud platform 授权对GCP的REST API调用

Google cloud platform 授权对GCP的REST API调用,google-cloud-platform,google-oauth,Google Cloud Platform,Google Oauth,我对GCP产品完全陌生。我正在尝试使用文档中提供的RESTAPI创建和管理资源,即虚拟机。我正在尝试的端点之一是 GET https://compute.googleapis.com/compute/v1/projects/{project}/zones/{zone}/instances?key={API_KEY} 尽管要对平台进行授权调用,我需要配置OAuth 2.0身份验证,我为其创建了相关的服务帐户。我不知道如何进一步使用它来授权这些请求。这方面的任何线索都会非常有用。谢谢 编辑: 我打

我对GCP产品完全陌生。我正在尝试使用文档中提供的RESTAPI创建和管理资源,即虚拟机。我正在尝试的端点之一是

GET https://compute.googleapis.com/compute/v1/projects/{project}/zones/{zone}/instances?key={API_KEY}
尽管要对平台进行授权调用,我需要配置OAuth 2.0身份验证,我为其创建了相关的服务帐户。我不知道如何进一步使用它来授权这些请求。这方面的任何线索都会非常有用。谢谢

编辑:
我打算从Python调用RESTAPI。不确定这是不是正确的方法。

我最终能够通过创建JWT,将其序列化为UTF-8表示(UTF-8很重要)来授权对GCP的API调用,使用google客户端库
google.auth
对其进行签名,最后请求
https://oauth2.googleapis.com/token
已通过
POST
参数
grant\u type=urn:ietf:params:oauth:grant type:jwt bearer
断言
,其值为使用签名JWT令牌


参考资料:

您需要如何生成API密钥吗?这可能是一个开始的好地方。。。我已经生成了作为路径参数传递的API密钥。为了进一步授权请求,我需要传递需要OAuth 2.0令牌的授权头,我想知道如何生成OAuth 2承载令牌。@Kolban感谢您的指导。虽然我查看了您提供的文档,但我对生成OAuth令牌(应该作为header传递)的问题还很不清楚。可以试试这个。。。您可能还需要查看其中一个客户端库。直接进行REST调用是可能的最低级别API。