如何使用api在我的网站中加载谷歌图片?

时间:2016-11-13 11:48:48

标签: javascript jquery google-api

我正在尝试实现what on this page,但我在控制台上遇到此错误:

  

www.google.com/jsapi?key=ABQIAAAAr19Eul_kZsYCBnyMjSJbPhSS8zuUzs-phHbAd9SKTtjFtv728xQ8NcR0mWFbQ0Ita4R2Wzc7rTuWUQ:22   一个Parser-blocking,cross-origin脚本,   https://www.google.com/uds/?file=search&v=1&output=nocss%3Dtrue,是   通过document.write调用。如果是,浏览器可能会阻止此操作   设备网络连接不良。

我试图关注this SO answers on Google image search says api no longer available

我基本上是尝试使用jquery或javascript和ajax显示基于给定字符串的图像。

  

注意:我已经设置了自己的密钥和cx

2 个答案:

答案 0 :(得分:0)

是的,此API已不再可用,您将无法再使用它了。但是,我们仍然有一些选择:

  1. 正如您所说,Google Custom Search是最佳选择。实际上,你不能将它与你拥有的JS代码一起使用。一旦掌握了App Keycx 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。

    此外,还可以build the URL dinamically through forms by APIs Explorer

  2. CX Generator本身已经为我们提供了一个生成的JS代码,其中包含预先格式化的HTML和用于网络搜索的样式:

    (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等,而不是搜索仅适用于特定网站。

  3. 您可以浏览Google以外的其他选项(一旦限制每天100次免费查询。之后每1000次查询5美元。):

  4. 或者,如果您仍想使用Google API,一旦为我们设置了很多内容,您就可以尝试hubot scripts与Google自定义搜索API进行互动以提高工作效率:{{3} }

答案 1 :(得分:0)

这是我解决的方法

   $.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 + ">");
            });
    });