如何使用API-token进行授权? 我的代码
from google.auth.api_key import Credentials
from google.cloud.storage import Client
client = Client('my-project', Credentials('my-token'))
blobs = client.list_blobs('my-bucket')
for blob in blobs:
print(blob.name)
加薪
google.api_core.exceptions.Unauthorized: 401 GET
如何正确执行此操作?
我无法使用 json 进行授权,因为它在 docker 容器中运行,并且在生产环境中我无法使用 json 挂载卷,只能在 envs 中挂载 API 令牌。
您无法使用 API 密钥来验证(!)对 Google Cloud Storage 的请求。
Google Cloud Storage 需要 OAuth 来验证请求,并需要 IAM 来授权“事物”(用户、组、服务帐户等)。
此身份验证要求的例外情况是对于您无法强制执行 API 密钥要求的公共(未经身份验证)对象。
通常您不想使用 API 密钥,请参阅 Google 的 使用 API 密钥进行身份验证,以很好地解释为什么会这样。
您可以授权在容器和生产环境中运行的应用程序,因为您通常不在这些环境中将JSON密钥挂载为字符串。 Google 通常不鼓励生成密钥。
请参阅应用程序默认凭据 (ADC) 了解一般方法。
以下情况,有更具体的解决方案。如果您的生产系统是: