我的Mac最近“退役”,所以我成功将我的Rails 2.3.8应用程序移植到Windows上的Ubuntu安装中。一切顺利,但现在我使用Google自定义搜索(CSE)进行图片搜索时没有任何结果。
我有一个有效的API密钥和一个唯一的自定义搜索ID - 这是确认的,因为我在使用CSE执行常规“网络”搜索时得到了结果。我也完全符合每日要求限制。我还仔细检查了API参考,以确保发布的语法没有改变,但没有改变。
我发出以下请求:
result_count=10
query='apple'
1)网页搜索(结果) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - < / p>
type=''
url="https://www.googleapis.com/customsearch/v1?key=#{ENV['GOOGLE_KEY']}&cx=#{ENV['GOOGLE_SEARCH_ID']}#{type}&alt=json&num=#{result_count}&q=#{query}"
RESULT =&gt;正如所料,一个JSON格式的字符串,包含10个项目/结果
2)图片搜索(无论查询结果均无结果) - - - - - - - - - - - - - - - - -
type='&searchType=image'
url="https://www.googleapis.com/customsearch/v1?key=#{ENV['GOOGLE_KEY']}&cx=#{ENV['GOOGLE_SEARCH_ID']}#{type}&alt=json&num=#{result_count}&q=#{query}"
RESULT =&gt;一个JSON格式的字符串,包含0个项目/结果,如下所示:
{
"kind": "customsearch#search",
"url": {
"type": "application/json",
"template": "https://www.googleapis.com/customsearch/v1?q={searchTerms}&num={count?}&start={startIndex?}&lr={language?}&safe={safe?}&cx={cx?}&cref={cref?}&sort={sort?}&filter={filter?}&gl={gl?}&cr={cr?}&googlehost={googleHost?}&c2coff={disableCnTwTranslation?}&hq={hq?}&hl={hl?}&siteSearch={siteSearch?}&siteSearchFilter={siteSearchFilter?}&exactTerms={exactTerms?}&excludeTerms={excludeTerms?}&linkSite={linkSite?}&orTerms={orTerms?}&relatedSite={relatedSite?}&dateRestrict={dateRestrict?}&lowRange={lowRange?}&highRange={highRange?}&searchType={searchType}&fileType={fileType?}&rights={rights?}&imgSize={imgSize?}&imgType={imgType?}&imgColorType={imgColorType?}&imgDominantColor={imgDominantColor?}&alt=json"
},
"queries": {
"request": [
{
"title": "Google Custom Search - apple",
"totalResults": "0",
"searchTerms": "apple",
"count": 10,
"inputEncoding": "utf8",
"outputEncoding": "utf8",
"safe": "off",
"cx": "my_private_cx_id",
"searchType": "image"
}
]
},
"searchInformation": {
"searchTime": 0.023136,
"formattedSearchTime": "0.02",
"totalResults": "0",
"formattedTotalResults": "0"
}
}
图像搜索过去一直工作,直到我移植应用程序 - 我不知道我错过了什么,但我怀疑这是一个轻微的疏忽。
答案 0 :(得分:2)
我认为可能是因为您没有为自定义搜索引擎启用图片搜索。您可以在CSE的控制台下启用它