Раньше Custom Search Element V1
Google работал, но теперь, когда я пытаюсь что-то искать на моем сайте, замечаю, что:
Несанкционированный доступ к внутреннему API.Пожалуйста, обратитесь к https://support.google.com/customsearch/answer/4542055
Я думаю, проблема в том, что есть новая версия Api ...
Код V1 был такой:
google.setOnLoadCallback(googlata);
google.load('search', '1');
function googlata(){
var customSearchControl = new google.search.CustomSearchControl('ID CSE');
customSearchControl.setResultSetSize(20);
customSearchControl.setLinkTarget(google.search.Search.LINK_TARGET_SELF);
var options = new google.search.DrawOptions();
options.setAutoComplete(true);
options.enableSearchResultsOnly();
customSearchControl.draw('cse',options); // 'cse' is a div for serp results
customSearchControl.execute('keyword');
В голове эторесурс и затем в теле div для результатов:
<script src="http://www.google.com/jsapi" type="text/javascript"></script>
<div id="cse"></div>
Теперь, как я могу перейти на V2?
Может ли работать этот код?
function gcseCallback() {
if (document.readyState != 'complete')
return google.setOnLoadCallback(gcseCallback, true);
google.search.cse.element.render({
div:'cse',
tag:'searchresults-only',
attributes:{
resultSetSize: 20,
noResultsString: "<div style='padding:10px'>Nothing</div>"
}
});
var element = google.search.cse.element.getElement('gsearch');
element.execute('keyword');
};
window.__gcse = {
parsetags: 'explicit',
callback: gcseCallback
};
(function() {
var cx = 'ID CSE';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
'//www.google.com/cse/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
и только
<div id="cse"></div>
Я надеюсь, вы можете помочь мне, и извините за мой английский