Google 使用 API_KEY 而不是 ACCESS_TOKEN 驱动 Header 身份验证

Google Drive Header Auth with an API_KEY instead of ACCESS_TOKEN

是否可以将 Google Header 身份验证与 API_KEY 一起使用?

目前我们正在使用以下方式下载文件:

https://www.googleapis.com/drive/v3/files/{fileId}?alt=media&key={our API key}

我们想像这样迁移到使用 HTTP Header 身份验证:

GET https://www.googleapis.com/drive/v3/files/[FILEID] HTTP/1.1

Authorization: Bearer [YOUR_ACCESS_TOKEN]
Accept: application/json

第一种方法使用 Google Cloud Console 中我们自己的 API_KEY。

第二种方法使用 ACCESS_TOKEN 由用户使用 oAuth 向应用程序进行身份验证时创建的。

是否可以使用我们的 API_KEY 进行 HTTP 身份验证?或者我们必须使用用户 ACCESS_TOKEN?

  • API 密钥仅授予您访问 public 数据的权限。
  • 访问令牌是授予应用程序访问用户数据的授权令牌。

它们是两个不同的东西。

授权header用于向服务器发送授权承载令牌、访问令牌以授权请求。

不,您不能发送 api 密钥作为授权 header,因为它不是不记名令牌。您需要使用 Oauth2 对您的用户进行身份验证才能访问他们的数据,这将为您提供访问令牌并能够将其添加为授权 header 并请求访问权限以下载用户文件。