我正在学习Google云端存储,JSON API,简单上传:
https://cloud.google.com/storage/docs/json_api/v1/how-tos/simple-upload
示例说要发送一个类似这样的帖子:
POST https://www.googleapis.com/upload/storage/v1/b/myBucket/o?uploadType=media&name=myObject HTTP/1.1
Content-Type: image/jpeg
Content-Length: [NUMBER_OF_BYTES_IN_FILE]
Authorization: Bearer [YOUR_AUTH_TOKEN]
[JPEG_DATA]
然后我创建了一个“服务帐户”API。
但是如何从我新创建的服务帐户中找出要使用的[YOUR_AUTH_TOKEN]
?
答案 0 :(得分:9)
Google Cloud使用OAuth 2.0来处理身份验证。根据您的需要,有多种生成令牌的技术。如果您使用Google的一个客户端库编写程序,则详细信息将主要由您处理。谷歌有一个关于细节的冗长指南:https://developers.google.com/identity/protocols/OAuth2
您希望将其身份验证为服务帐户。服务帐户通常通过创建名为JWT的令牌请求文档进行身份验证,使用与服务帐户关联的私钥对其进行签名,然后将JWT与Google交换以获取令牌。此过程在此处描述:https://developers.google.com/identity/protocols/OAuth2#serviceaccount
在您的桌面上,如果您想作为服务帐户进行身份验证,一种简单的方法是使用gcloud作为服务帐户进行身份验证,然后向其请求令牌:
$> gcloud auth activate-service-account myaccount@gserviceaccounts.com --key-file=creds.json
$> gcloud auth print-access-token