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

如何使用服务账号密钥中的private_key认证Google Translate API v3

Google Translate API v3 服务账号private_key认证步骤

核心逻辑

Google Translate API v3仅支持OAuth2认证体系,服务账号的private_key是生成合法OAuth2凭据的核心材料,借助官方SDK可直接完成身份验证,无需手动处理复杂的签名流程。

具体实现步骤(以Python为例)

  1. 准备服务账号密钥信息
    从GCP控制台下载服务账号的JSON密钥文件,文件中包含private_key、project_id、client_email等关键字段,确保能获取到这些完整内容。

  2. 安装依赖库
    执行以下命令安装Google Cloud翻译SDK及认证依赖:

    pip install google-cloud-translate google-auth
    
  3. 编写认证与API调用代码
    直接通过服务账号信息生成凭据,初始化客户端后调用翻译API:

    from google.oauth2 import service_account
    from google.cloud import translate_v3
    
    # 替换为你的服务账号密钥JSON中的实际内容
    service_account_info = {
        "type": "service_account",
        "project_id": "your-project-id",
        "private_key_id": "your-private-key-id",
        "private_key": "-----BEGIN PRIVATE KEY-----\n你的完整private_key内容\n-----END PRIVATE KEY-----\n",
        "client_email": "your-service-account@your-project-id.iam.gserviceaccount.com",
        "client_id": "your-client-id",
        "auth_uri": "https://accounts.google.com/o/oauth2/auth",
        "token_uri": "https://oauth2.googleapis.com/token",
        "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
        "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/your-service-account%40your-project-id.iam.gserviceaccount.com"
    }
    
    # 创建OAuth2凭据
    credentials = service_account.Credentials.from_service_account_info(
        service_account_info,
        scopes=["https://www.googleapis.com/auth/cloud-translation"]
    )
    
    # 初始化翻译服务客户端
    client = translate_v3.TranslationServiceClient(credentials=credentials)
    
    # 调用翻译API示例
    project_id = "your-project-id"
    location = "global"
    parent = f"projects/{project_id}/locations/{location}"
    
    # 发起翻译请求
    response = client.translate_text(
        request={
            "parent": parent,
            "contents": ["Hello, world!"],
            "mime_type": "text/plain",
            "source_language_code": "en",
            "target_language_code": "zh-CN"
        }
    )
    
    # 输出翻译结果
    for translation in response.translations:
        print(f"翻译结果:{translation.translated_text}")
    

关键注意事项

  • 权限配置:确保服务账号已被授予Cloud Translation API的相关权限(如roles/cloudtranslation.editor或更高权限),否则会触发权限不足的错误。
  • private_key格式:必须完整保留密钥的首尾标记(-----BEGIN PRIVATE KEY-----和-----END PRIVATE KEY-----)以及内部的换行符,格式错误会导致凭据生成失败。
  • 多语言适配:如果使用Node.js、Java等其他语言,逻辑一致——通过官方SDK加载含private_key的服务账号密钥生成凭据,再传递给API客户端即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 13:12:20