Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.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 在可恢复地上传到Google云存储时,我使用什么作为身份验证令牌?_Google Cloud Platform_Google Cloud Storage - Fatal编程技术网

Google cloud platform 在可恢复地上传到Google云存储时,我使用什么作为身份验证令牌?

Google cloud platform 在可恢复地上传到Google云存储时,我使用什么作为身份验证令牌?,google-cloud-platform,google-cloud-storage,Google Cloud Platform,Google Cloud Storage,我正在通过谷歌云存储阅读关于可恢复上传的内容,我不清楚应该在请求头中包含哪些Auth令牌。他们建议使用的初始请求如下所示: POST https://www.googleapis.com/upload/storage/v1/b/myBucket/o?uploadType=resumable HTTP/1.1 Authorization: Bearer [YOUR_AUTH_TOKEN] Content-Length: 38 Content-Type: application/json; char

我正在通过谷歌云存储阅读关于可恢复上传的内容,我不清楚应该在请求头中包含哪些Auth令牌。他们建议使用的初始请求如下所示:

POST https://www.googleapis.com/upload/storage/v1/b/myBucket/o?uploadType=resumable HTTP/1.1
Authorization: Bearer [YOUR_AUTH_TOKEN]
Content-Length: 38
Content-Type: application/json; charset=UTF-8
X-Upload-Content-Type: image/jpeg
X-Upload-Content-Length: 2000000

{
  "name": "myObject"
}
我正在为我的应用程序使用一个API密钥,因此我将请求URL附加一个类似于&key=myAPIKey的密钥

我得到一个401响应无效凭据,我认为这是因为我没有在请求头中包含正确的令牌


我的问题是,授权请求头中包括什么

承载后的位通常是访问令牌。访问令牌是短期凭证,允许您对HTTP调用进行身份验证。它们是某种OAuth流的结果。如果要手动尝试并安装gcloud SDK,可以使用以下命令创建一个:

$> gcloud auth print-access-token

当然,该令牌只会持续几分钟,而且您无论如何都不想将其嵌入到程序中。相反,您将为服务帐户获取私钥或为真实用户获取刷新令牌,然后让您的程序使用Google的OAuth 2库将永久凭证交换为访问令牌。该协议是有文档记录的,但谷歌也提供了处理该协议的库,我建议使用它们。这里还有很多文档:

谢谢,非常有用。因此,我要澄清的是,当我创建一个服务帐户时,自动下载的JSON文件是我可以与库一起使用的凭证,用于根据需要生成身份验证令牌?正是如此。JSON文件包含一个私钥文件和一些其他密钥。它表示作为特定服务帐户进行身份验证的权限。它是可撤销的,但在其他方面永远有效。您将把它传递给一个库,该库将根据需要使用它对访问令牌的请求进行签名。