我们在 Google Cloud Platform 中有一个存储桶来管理图片。我正在尝试使用 Curl 将图片上传到它。
相对于此处链接的官方文档,这是我使用的 Curl 命令:
curl -X POST --data-binary @cat.jpeg \
-H "Authorization: Bearer A_STRING_SUPPOSED_TO_BE_A_KEY" \
-H "Content-Type: image/jpeg" \
"https://storage.googleapis.com/upload/storage/v1/b/upload_zone/o?uploadType=media&name=cat"
这是我们得到的答案:
{
"error": {
"code": 401,
"message": "Invalid Credentials",
"errors": [
{
"message": "Invalid Credentials",
"domain": "global",
"reason": "authError",
"locationType": "header",
"location": "Authorization"
}
]
}
}
我们的密钥似乎无效,我们不确定使用什么作为授权密钥。我们在哪里可以找到使用 Google Cloud Platform Bucket 所需的 OAUTH2.0-key,我们是否需要在某处生成它?
编辑:我们已经使用 OAuth 2.0-Playground 生成了一个密钥,并且成功了!但是密钥每 3000 秒过期一次......
如果您已经使用 gcloud sdk 对 Google 进行了身份验证,则可以像这样获取密钥:
-H "Authorization: Bearer $(gcloud auth print-identity-token)"
因此,使用上面的示例,这应该有效:
curl -X POST --data-binary @cat.jpeg \
-H "Authorization: Bearer $(gcloud auth print-identity-token)" \
-H "Content-Type: image/jpeg" \
"https://storage.googleapis.com/upload/storage/v1/b/upload_zone/o?uploadType=media&name=cat"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句