求助:Google Ads API所有请求返回404 HTML而非JSON响应
排查Google Ads API REST端点返回404 HTML的问题
针对调用Google Ads API返回通用404 HTML而非JSON错误的情况,按以下步骤逐一排查:
检查客户ID格式:URL中的
[CUSTOMER_ID]必须是无连字符的纯数字格式(例如将123-456-7890改为1234567890)。Google Ads API的路径参数不接受带分隔符的客户ID,这是引发404最常见的原因。修正Login-Customer-ID值:如果操作的是MCC关联的子账户,
login-customer-id请求头必须填写MCC账户的无分隔符ID,而非子账户ID。你当前填写子账户ID会导致API无法正确定位资源,进而返回404。验证请求URL拼写:确认URL中的
googleAds:search部分拼写正确(注意大小写和冒号格式),同时确保API版本号(v19)与路径完全对应,避免出现空格或拼写错误。核对请求头细节:
- 确保
developer-token头名为小写,不要写成下划线或其他格式; - 确认
Content-Type严格设置为application/json,Laravel HTTP客户端可能默认配置不符,需显式指定; - 检查
Authorization头格式为Bearer [valid_token],确保Bearer与令牌之间有且仅有一个空格。
- 确保
调整查询日期范围:你当前使用的是2026年的未来日期,虽不会直接引发404,但建议替换为过去的有效日期(如
2024-04-01至2024-04-30),排除查询本身的异常干扰。对比请求细节一致性:在Laravel中输出完整请求日志(包括最终发送的URL、所有请求头、请求体),与Postman的请求逐字段对比,确认是否存在Laravel客户端自动修改请求的情况(如重定向、头信息被覆盖等)。
建议先在Postman中修正上述可能的问题后重新测试,确认能正常返回JSON响应后,再同步调整Laravel中的请求配置。
内容的提问来源于stack exchange,提问作者Theo Lague
相关产品推荐
相关产品推荐

