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

设置pageSize限制关键词创意时触发Google Ads API资源耗尽错误

解决Google Ads API设置pageSize后触发RESOURCE_EXHAUSTED配额耗尽问题

问题原因

你遇到的问题核心在于generateKeywordIdeas调用后的iterateAllElements()方法行为:当设置pageSize=50时,这个方法会自动发起多次API请求遍历所有分页结果(比如总共有1000个结果就会发起20次请求),直接耗尽账户级请求频率配额;而不设置pageSize时,API默认使用较大的分页尺寸(通常为1000),请求次数极少,不会触发配额限制。

解决方案

1. 手动限制返回结果数量(替代pageSize)

如果仅需获取少量关键词创意,不要依赖pageSize参数,而是在获取结果后手动截断,避免多次API请求:

// 替换原foreach循环
$maxResults = 50; // 你需要的结果数量
$currentCount = 0;
foreach ($response->iterateAllElements() as $result) {
    if ($currentCount >= $maxResults) break;
    var_dump($result->getText());
    $currentCount++;
}

同时移除请求中的'pageSize'=>50配置,让API使用默认分页尺寸减少请求次数。

2. 优化请求逻辑减少调用次数

  • 尽量合并批量请求,避免短时间内多次调用generateKeywordIdeas
  • 若需多次查询,增加请求间隔,避免触发频率限制

3. 实现自动重试机制

针对RESOURCE_EXHAUSTED错误,按照API返回的重试时间自动重试,修改异常处理逻辑:

catch (GoogleAdsException $e) {
    $errorMessage = $e->getMessage();
    if (str_contains($errorMessage, 'RESOURCE_EXHAUSTED') && preg_match('/Retry in (\d+) seconds/', $errorMessage, $matches)) {
        $retrySeconds = (int)$matches[1];
        printf("配额耗尽,%d秒后重试...\n", $retrySeconds);
        sleep($retrySeconds);
        // 重新执行请求(建议把请求逻辑封装成独立函数方便重试)
        generateKeywordIdeas($customerId, $url, $language, $locationId);
    } else {
        printf("生成关键词创意时出错: %s\n", $errorMessage);
    }
}

4. 检查账户配额

登录Google Ads后台,查看账户的API请求频率配额,确认是否有提升空间,或者是否有其他应用在消耗配额。

核心代码修改示例

调整后的请求和结果处理逻辑:

// 移除请求中的pageSize参数
$response = $keywordPlanIdeaServiceClient->generateKeywordIdeas(
    [
        'language' => ResourceNames::forLanguageConstant(1000),
        'customerId' => ***,
        'geoTargetConstants' => $geoTargetConstants,
        'keywordPlanNetwork' => KeywordPlanNetwork::GOOGLE_SEARCH
    ]+$requestOptionalArgs
);

// 手动限制返回结果数量
$maxResults = 50;
$currentCount = 0;
foreach ($response->iterateAllElements() as $result) {
    if ($currentCount >= $maxResults) {
        break;
    }
    var_dump($result->getText());
    $currentCount++;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 07:35:28