You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Google Cloud Storage的Authorization Token用于API集成

获取Google Cloud Storage API的Authorization Token指南

我来帮你梳理一下获取Google Cloud Storage(GCS)API所需Authorization Token的几种常见方式,不同场景对应不同的方案,你可以根据自己的Web应用架构来选:

一、服务器端应用(最推荐的生产环境方案)

如果你的Web应用是通过后端服务调用GCS API,服务账号密钥是最稳妥的方式,官方客户端库会自动帮你处理Token的生成和刷新:

  • 步骤1:在Google Cloud控制台,进入你的项目 → 「IAM与管理」→「服务账号」,创建或选择一个服务账号,给它分配合适的GCS权限(比如Storage Object Admin用于读写,Storage Object Creator仅用于上传)。
  • 步骤2:为该服务账号下载JSON格式的密钥文件,存放在后端服务器的安全目录下(绝对不要暴露给前端)。
  • 步骤3:使用官方客户端库(比如Python的google-cloud-storage、Node.js的@google-cloud/storage),这些库会自动读取密钥文件并生成Authorization Token,完全不需要你手动拼接请求头。举个Python的简单示例:
    from google.cloud import storage
    
    # 初始化客户端,自动读取密钥文件(可通过环境变量指定路径)
    storage_client = storage.Client.from_service_account_json('path/to/your-key.json')
    bucket = storage_client.get_bucket('your-bucket-name')
    
    # 上传文件示例
    blob = bucket.blob('uploads/test.jpg')
    blob.upload_from_filename('local/test.jpg')
    
  • 如果非要手动生成Token(比如不用官方库的特殊场景),可以用google-auth库来生成:
    from google.oauth2 import service_account
    import google.auth.transport.requests
    
    credentials = service_account.Credentials.from_service_account_file(
        'path/to/your-key.json',
        scopes=['https://www.googleapis.com/auth/devstorage.read_write']
    )
    # 刷新获取Token
    request = google.auth.transport.requests.Request()
    credentials.refresh(request)
    access_token = credentials.token
    # 之后请求头就用 Authorization: Bearer {access_token}
    

二、前端直接上传文件(安全优先)

如果是前端浏览器直接上传文件到GCS,绝对不要直接获取或暴露Authorization Token(会导致密钥泄露),推荐两种安全方案:

  • 使用Signed URL:由后端生成一个带签名的临时URL,前端拿到这个URL后,直接用PUT请求上传文件,不需要携带任何认证头。后端生成Signed URL的示例(Python):
    from google.cloud import storage
    
    storage_client = storage.Client()
    bucket = storage_client.bucket('your-bucket-name')
    blob = bucket.blob('uploads/user-123/test.jpg')
    # 生成有效期1小时的PUT请求URL
    signed_url = blob.generate_signed_url(expiration=3600, method='PUT')
    # 返回给前端,前端用fetch或axios发送PUT请求即可
    
  • 使用Firebase Storage:它是基于GCS的托管服务,前端可以通过Firebase Auth(比如邮箱、Google账号登录)自动处理认证,无需手动管理Token,上手更简单。

三、用户授权访问自有GCS资源

如果你的应用需要让用户授权访问他们自己的Google Cloud Storage资源,就用OAuth 2.0授权码流程:

  • 步骤1:在Google Cloud控制台创建OAuth客户端ID(类型选「Web应用」),配置授权回调地址。
  • 步骤2:前端引导用户跳转到Google的授权页面,请求https://www.googleapis.com/auth/devstorage.read_write这类权限。
  • 步骤3:用户授权后,前端拿到授权码,传给后端;后端用授权码兑换Access Token和Refresh Token。
  • 步骤4:用Access Token调用GCS API,Token过期后用Refresh Token自动刷新。

最后提醒一句:尽量使用官方客户端库,不要手动处理Token的生成和刷新——官方库已经帮你处理了Token过期、权限范围等细节,能避免很多坑。

内容的提问来源于stack exchange,提问作者rohitcoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:47:49