可编程搜索引擎返回400错误:请求包含无效参数
排查Google自定义图片搜索API 400错误(INVALID_ARGUMENT)的解决方法
问题描述
调用Google自定义图片搜索API时返回400错误,响应提示Request contains an invalid argument,请求URL及响应内容如下:
请求URL:
https://customsearch.googleapis.com/customsearch/v1?key=AIzaSyCca5akhZ492pP08QBchz5Q4QA6kFYsBrc&cx=923a7bcc712ee431d&searchType=image&imgUrl=https://media.gq.com/photos/5a5f79d52316871dcb3c837f/master/w_1600,c_limit/Dua_Lipa_02.jpg
响应内容:
{ "error": { "code": 400, "message": "Request contains an invalid argument.", "errors": [ { "message": "Request contains an invalid argument.", "domain": "global", "reason": "badRequest" } ], "status": "INVALID_ARGUMENT" } }
排查与解决步骤
对
imgUrl参数进行URL编码
图片URL中包含/、,等特殊字符,直接作为URL参数传递会导致解析异常。必须对imgUrl的值进行URL编码,编码后的参数示例:imgUrl=https%3A%2F%2Fmedia.gq.com%2Fphotos%2F5a5f79d52316871dcb3c837f%2Fmaster%2Fw_1600%2Cc_limit%2FDua_Lipa_02.jpg验证API密钥(
key)的有效性
确认密钥拼写正确,且已在Google Cloud控制台启用自定义搜索API权限;同时检查密钥是否存在额度耗尽、IP访问限制或过期的情况。检查自定义搜索引擎ID(
cx)的正确性
核对cx值是否与Google自定义搜索引擎控制台中创建的ID完全一致,且该搜索引擎已开启图片搜索功能。校验请求参数的合法性
确认searchType=image参数无拼写错误,未传入API不支持的额外参数,也未遗漏必要参数。测试简化请求定位问题
先使用基础参数组合(key、cx、searchType=image+简单的q搜索词)发起请求,确认API能正常响应后,再逐步添加imgUrl参数,排查参数引入的问题。
内容的提问来源于stack exchange,提问作者kaka
相关产品推荐
相关产品推荐

