2016-05-02 84 views
0

有人可以幫助我如何實施在谷歌自定義搜索網站特定搜索版本1代碼?防爆。只搜索 http://www.example.net/somesite/somesubsite/谷歌自定義搜索網站特定搜索在V1代碼

對於版本2的代碼,我可以用as_sitesearch參數。但是我需要更多地控制搜索表單的樣式,所以我必須使用V1。我不清楚如何使用V1實現這一點。

此外,我找不到合併到v1中的腳本文檔,如果有人知道可能隱藏的位置,我將不勝感激。我已經衝過https://developers.google.com/custom-search/docs/,我必須忽略它。

回答

0

打印您的JSON響應並創建一個數組,那麼你可以指定選擇哪個指數。創建自己的格式,然後將其傳遞到任何位置。

var sUrl="https://www.googleapis.com/customsearch/v1?key={YOUR_API_KEY}&cr={COUNTRY_CODE}&cx={YOUR_CX_VALUE}&q="; 

    function getAutosuggest(qTerm,res){ 
       if(qTerm.length>1){ 
        $.get(sUrl+qTerm,{},function(data){ 
         if(data && data.items && data.items.length>0){ 
          var qTerm=$sInput.val(), 
          sData=[];  
      var j=data.items.length; 

      for(var i=0;i<data.items.length;i++){ 

           if(data.items[i].pagemap && data.items[i].pagemap.product && data.items[i].pagemap.product.length>0){ 
            var prod=data.items[i].pagemap.product[0]; 
            //console.log("Search:"+qTerm+"|"+JSON.stringify(prod)); 
            var ht=new RegExp("\\b"+qTerm+"[^\\s]*","gi"); 
            if(newW && ((m=ht.exec(prod.name)) || (m=ht.exec(prod.description)))){               
             newW=false; 
             var hint=qTerm+m[0].substring(qTerm.length); 
             //console.log("Matched:"+JSON.stringify(m)); 
             //console.log("Hint:"+hint); 
             if(hint.slice(-1)===','){ 
              hint=hint.substring(0,hint.length-1); 
             } 
        hint=hint.length>35?'':hint; 
        console.log(hint); 
             $hintTxt.html(hint); 
             //break; 
            } 
            var cat="Makeup",itemId=0; 
            if(data.items[i].pagemap.breadcrumb && data.items[i].pagemap.breadcrumb.length>2){           
             if((cat=data.items[i].pagemap.breadcrumb[data.items[i].pagemap.breadcrumb.length-2].title)== undefined){ 
              cat="Makeup"; 
             } 
            } 
            if(prod.identifier){ 
             itemId=prod.identifier.substring(4); 
            } 
            var sItem={ 
             label:prod.name, 
             value:prod.name, 
             link:data.items[i].link, 
             item_id:itemId, 
             category:cat 
            }; 
            sData.push(sItem); 
           } 
          } 
          sData.sort(keysrt('category')); 

          if(sData.length>0){ 
           sData.push({label:"SEE ALL RESULTS",item_id:0,value:"",link:"/search.php?search="+qTerm,category:""});         
          }else if(sData.length==0){ 
           sData.push({label:"No results found",item_id:-1,value:"",link:""+qTerm,category:""}); 
          } 


          //console.log("Data:"+JSON.stringify(sData)); 
          res(sData); 

         }    
        },'json'); 
       } 
      } 

     function keysrt(key,desc) { 
      return function(a,b){ 
      return desc ? ~~(a[key] < b[key]) : ~~(a[key] > b[key]); 
      } 
     }