случайное изображение из Google, заданное в качестве фона с помощью запроса по ключевому слову изображения - PullRequest
0 голосов
/ 11 сентября 2018

у меня есть этот код:

<html>
<head>
    <title></title>
    <script src="https://www.google.com/jsapi"></script>
    <script type="text/javascript">
    google.load('search', '1');
    google.setOnLoadCallback(OnLoad);
    var search;

    //i suggest instead of this to make keywords list so first to pick random keyword than to do search and pick random image
    var keyword = 'cute kittens';

    function OnLoad()
    {
        search = new google.search.ImageSearch();

        search.setSearchCompleteCallback(this, searchComplete, null);

        search.execute(keyword);
    }

    function searchComplete()
    {
        if (search.results && search.results.length > 0)
        {
            var rnd = Math.floor(Math.random() * search.results.length);

            //you will probably use jQuery and something like: $('body').css('background-image', "url('" + search.results[rnd]['url'] + "')");
            document.body.style.backgroundImage = "url('" + search.results[rnd]['url'] + "')";
        }
    }
    </script>
</head>
<body>

он должен дать мне фотографию котенка, а затем сделать этот фон, однако он не дает мне никакого фона, кто-нибудь имеет представление о том, какчтобы исправить это?если вы делаете, пожалуйста, помогите.это может показаться дубликатом, однако я получил код из предыдущего поста, и он не работает, поэтому, пожалуйста, не отмечайте как дубликат, я пытался модифицировать код несколькими способами, ни один не работал, я потерял разные правки, когда мойУстройство выключено, поэтому у меня их нет.(я был плохим разработчиком и не сохранял)

1 Ответ

0 голосов
/ 17 сентября 2018

Похоже, что API устарел с 2011 года. Вероятно, Google полностью отключил службу, поскольку их политика устаревания позволяет им делать это в соответствии с одним из следующих пунктов

Google оставляет за собой правопо своему усмотрению немедленно прекратить предоставление всей или любой части Устаревшей версии Услуг без какого-либо уведомления, если:

  • предоставление Устаревшей версии Услуг может создать существенное экономическое бремя, как определеноGoogle в своем разумном добросовестном решении;или
  • предоставление устаревшей версии Услуг может создать угрозу безопасности или материальное техническое бремя, как это определено Google в разумных пределах.

https://developers.google.com/terms/deprecation

Я поместил ваш код в JSfiddle здесь: https://jsfiddle.net/zcthpd4L/6/ и встретился с ошибкой:

Uncaught TypeError: Cannot read property 'ImageSearch' of undefined
at OnLoad ((index):52)
at (index):70

Похоже, что это не связано с проблемой конфигурации, и, вероятно, из-зана сервис больше не доступен.Лучше всего использовать API пользовательского поиска: https://developers.google.com/custom-search/

...