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

Google Ads API V13中LanguageConstantService替代方案及语言设置方法

问题背景

原代码通过LanguageConstantService获取语言资源名的方式在V13版本已被移除,运行时会触发报错:

ValueError: Specified service LanguageConstantService does not exist in Google Ads API v13.

替代方案

在Google Ads API V13及后续版本中,语言参数的设置不再依赖废弃的LanguageConstantService,可通过以下两种方式实现:

直接构造语言资源名

语言常量的资源名格式固定为 languageConstants/{language_id},比如英文(语言ID为1000)的资源名就是 languageConstants/1000。无需调用废弃服务,直接构造字符串即可替换原代码片段:

# 直接构造语言资源名,替代原LanguageConstantService调用逻辑
language_rn = f"languageConstants/{language_id}"

动态查询语言常量(可选)

如果需要根据语言编码(如en、zh-CN)动态获取资源名,可通过GoogleAdsService执行查询:

from google.ads.googleads.client import GoogleAdsClient

def get_language_resource_name(client, language_code):
    query = f"""
        SELECT language_constant.resource_name, language_constant.id
        FROM language_constant
        WHERE language_constant.code = '{language_code}'
    """
    ga_service = client.get_service("GoogleAdsService")
    # 替换为你的客户ID
    response = ga_service.search(customer_id="YOUR_CUSTOMER_ID", query=query)
    for row in response:
        return row.language_constant.resource_name
    return None

# 使用示例:获取中文(简体)的资源名
language_rn = get_language_resource_name(client, "zh-CN")

在关键词规划请求中配置语言

构造好语言资源名后,将其传入关键词规划请求的language_constants字段即可,示例如下:

keyword_plan_service = client.get_service("KeywordPlanService")
request = client.get_type("GenerateKeywordIdeasRequest")
request.customer_id = "YOUR_CUSTOMER_ID"
# 添加语言资源名
request.language_constants.append(language_rn)
# 配置其他参数(如地域、关键词种子等)
# ...
response = keyword_plan_service.generate_keyword_ideas(request=request)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 03:03:10