我试图实现什么在这个页面上,但我有这个错误在控制台:
www.google.com/jsapi ?关键= ABQIAAAAr19Eul_kZsYCBnyMjSJbPhSS8zuUzs-phHbAd9SKTtjFtv728xQ8NcR0mWFbQ0Ita4R2Wzc7rTuWUQ: 22一个解析器阻塞,跨源脚本,https://www.google.com/uds/?file=search& v = 1,输出=国有石油公司% 3 dtrue,通过document.write调用。这可能被浏览器阻止,如果设备网络连接不良
我试图遵循这个答案在谷歌图像搜索说api不再可用。
我基本上试图显示基于使用jquery或javascript和ajax给定字符串的图像。
注意:我已经设置了我自己的密钥和cx
是的,这个API不再可用,您将无法再使用它了。但是,我们仍然有一些选择:
-
您可能已经说过,
Google Custom Search
是最好的选择。实际上,您不能将它与您拥有的JS代码一起使用。一旦您已经掌握了App Key
和cx code
,您唯一要做的就是使用适当的参数调用请求以及处理响应。让我们看看:https://www.googleapis.com/customsearch/v1?q=java&cx=YOUR_CX_CODE&key=YOUR_APP_KEY&num=1&start=99
这将返回基于json的响应与所有的图像url包装到
cse_image
属性。继续,通过Ajax请求调用它,并将响应映射到HTML。也可以通过api Explorer通过表单动态地构建URL。
-
CX生成器本身已经为我们提供了一个预格式化的HTML和web搜索样式生成的JS代码:
(function() { var cx = 'YOUR_CX_CODE'; var gcse = document.createElement('script'); gcse.type = 'text/javascript'; gcse.async = true; gcse.src = 'https://cse.google.com/cse.js?cx=' + cx; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s); })(); <gcse:search></gcse:search>
注意:请记住,您可以添加基于域的基础地图,例如
*.com
,*.net
等,而不是只搜索特定的网站 -
你可以探索其他的选项,而不是谷歌的(一旦它有限制100查询每天免费。之后每1000次查询5美元):
- rifsy API: http://api.riffsy.com/#start
- 图库搜索Imgur API: http://api.imgur.com/endpoints/gallery#gallery-search
- Ababeen API: http://api.ababeen.com/
- 或者,如果你仍然想用谷歌API,你可以尝试
hubot scripts
,它与谷歌自定义搜索API交互,提高生产力,一旦它为我们设置了很多东西:https://github.com/hubot-scripts/hubot-google-images/
我是这样解决的
$.getJSON( "https://www.googleapis.com/customsearch/v1?key=MY_API_KEY&cx=MY_CX_KEY&q=flowers&searchType=image&fileType=jpg&imgSize=xlarge&alt=json",
function (data) {
$.each(data.items, function(i,item){
$("body").append("<img src=" + item.link + ">");
});
});