我已关注this guide和this reference来创建自定义搜索引擎。
我创建它只是为了从Google获取图像网址以在我的应用程序中使用。
但是,当我使用一个非常常见的查询(例如q=heinz+baked+beans
)对其进行测试时,结果与您在Google图片(或Google)中执行相同搜索时获得的结果完全不同。
以下是我正在使用的API网址:
SEARCH_URL_BASE = "https://www.googleapis.com/customsearch/v1" +
"?key=PRIVATE" +
"&cx=PRIVATE" +
"&cr=countryUK" +
//"&exactTerms=heinz+baked+beans" +
"&gl=uk" +
"&googlehost=google.co.uk" +
"&imgSize=medium" +
"&imgType=photo" +
"&safe=high" +
"&searchType=image&fileType=jpg" +
"&q=heinz+baked+beans"; //append the query
当您在浏览器中手动尝试此搜索时,最高结果(在images.google.co.uk和google.co.uk中)来自heinz.co.uk,但是当我通过API进行查询时,结果无处可见。
我已尝试将heinz.co.uk
添加到“我的自定义搜索设置”屏幕中的Sites to search
字段,该字段产生了来自API的403个响应,因此我将其还原为没有Sites to search
(与Search the entire web...
已选中),但我仍然收到403错误。
有什么想法吗?
答案 0 :(得分:0)
我创建了一个新的Google帐户(使用全新的电子邮件地址 - 因此,没有搜索历史记录以尝试克服Google's personalization 'feature')并创建了一个新的密钥和自定义搜索引擎。这可能会使结果不那么自定义 - 但我仍然在试验这个。
但是,我仍在为这个新设置获得403响应,我能想到的唯一原因是我太快地解雇了我的请求。我的应用程序在每个请求之间休眠了1000毫秒,但似乎这还不够(即使我完全不满足每天允许的1,000个请求)。我将尝试逐渐增加此睡眠间隔,并使用请求之间所需的最佳睡眠间隔更新此答案。