Google image search говорит, что api больше не доступен

Я использую API поиска изображений google. До вчерашнего дня он работал, но сегодня утром он говорит: "этот API не доступен"

он официально закрыт или любая ошибка на моей стороне

запрос

https://ajax.googleapis.com/ajax/services/search/images?v=1.0&rsz=8&q=cute+kittens

ответ

{"responseData": null, "responseDetails": "This API is no longer available.", "responseStatus": 403}

7 ответов


ответ, который я нашел, был с помощью пользовательского API поисковой системы Google (CSE). Обратите внимание, что это ограничено 100 бесплатными запросами в день.

создания cx и изменение его для поиска изображений

  1. создать систему пользовательского поиска на https://cse.google.com/cse/create/new на основе ваших критериев поиска.
  2. выберите сайты для поиска (оставьте это поле пустым, если вы хотите выполнить поиск по всей сети, иначе вы можете ввести сайт для поиска на одном конкретном сайте)
  3. введите имя и язык для поисковых систем.
  4. Нажмите кнопку "Создать.- Теперь ты можешь найти!--0--> в URL браузера.
  5. в разделе "изменить поисковую систему" нажмите кнопку "Панель управления". В разделе" редактировать "вы найдете метку" поиск изображений " с кнопкой включения/выключения, измените ее на ON. Нажмите "обновить", чтобы сохранить изменения.

проведение поиска с В API

url конечной точки API -https://www.googleapis.com/customsearch/v1

для этого API используются следующие параметры JSON:

  • q: задает текстом поиск
  • num: задает количество результатов. Требуется целое значение от 1 до 10 (включительно)
  • start: "offset"для результатов, с которых должен начинаться поиск. Требуется целое значение от 1 до 101.
  • imgSize: в размер изображения. Я использовал "medium"
  • searchType: должно быть установлено в "image"
  • filetype: указывает тип файла изображения. Я использовал "jpg", но вы можете оставить это, если расширение файла не имеет для вас значения.
  • key: ключ API, полученный из https://console.developers.google.com/
  • cx: пользовательский идентификатор поисковой системы из предыдущего раздела

просто GET запрос передавая вышеуказанные параметры как JSON в конечную точку API (также указанную выше).

Примечание: если вы установите список рефереров в настройках поисковой системы, посещение URL через браузер, скорее всего, не будет работать. Вам нужно будет сделать вызов AJAX (или эквивалент с другого языка) с сервера, указанного в этом списке. Это будет работать только для ссылок, которые были указаны в конфигурации настройки.

ссылка: https://developers.google.com/custom-search/json-api/v1/reference/cse/list


теперь вы можете искать изображения с помощью пользовательского API поиска изображений.

вы можете сделать это в два этапа:

1) Получить CUSTOM_SEARCH_ID

перейти к - https://cse.google.ru/cse/all

здесь вы должны создать новую поисковую систему. Сделайте это и включите поиск изображений там.

экран(я русский... извините)

image search enable

затем получите этот идентификатор поисковой системы. Сделать это нажмите на кнопку Get Code:

get code button

и там найти строку с cx = "здесь будет ваш CUSTOM_SEARCH_ID":

get CSE id

Ok. Это сделано, теперь второй шаг:

2) получить SERVER_KEY

перейти к консоли google -https://console.developers.google.com/project

Google API Console

Нажмите для создания проекта кнопку, Введите имя и другая необходимая информация. Выберите этот проект и перейдите к Включить API project dashboard Теперь найдите пользовательскую поисковую систему.

custom SE find И включить его.

Enable Custom Search

теперь мы должны перейти к учетным данным и создать новый ключ сервера:

Create server Key

Ok. Теперь мы можем использовать поиск изображений.

запрос:

https://www.googleapis.com/customsearch/v1?key=SERVER_KEY&cx=CUSTOM_SEARCH_ID&q=flower&searchType=image&fileType=jpg&imgSize=xlarge&alt=json

замените SERVER_KEY и CUSTOM_SEARCH_ID и вызовите этот запрос.

Limit: бесплатно вы можете искать только 100 изображений в день. Спасибо за внимание.


Если это только для ваших собственных целей (не для производства), и вы не планируете злоупотреблять поиском изображений Google, вы можете просто извлечь первый URL изображения из результатов поиска Google, используя JSOUP.

например: Код для получения URL изображения первого эскиза:

public static String FindImage(String question, String ua) {
            String finRes = "";

    try {
            String googleUrl = "https://www.google.com/search?tbm=isch&q=" + question.replace(",", "");
            Document doc1 = Jsoup.connect(googleUrl).userAgent(ua).timeout(10 * 1000).get();
            Element media = doc1.select("[data-src]").first();
            String finUrl = media.attr("abs:data-src"); 

            finRes= "<a href=\"http://images.google.com/search?tbm=isch&q=" + question + "\"><img src=\"" + finUrl.replace("&quot", "") + "\" border=1/></a>";

        } catch (Exception e) {
            System.out.println(e);
        }

        return finRes;
    }

руководство:

вопрос-поиск изображения

ua-агент пользователя браузера


измените url API на Google пользовательский поиск изображений

обеспечить те же параметры вместе с ключом API и CX.

дополнительная информация и Explorer


Это полный шаблон URL, который будет использоваться

мы можем исключить ненужное использую

https://www.googleapis.com/customsearch/v1?key=ap_key&cx=cx&q=hello&searchType=image&imgSize=xlarge&alt=json&num=10&start=1


на Yahoo Boss API является разумной заменой, хотя это не бесплатно, и результаты не совсем так хороши.

обновление: Yahoo BOSS JSON Search API прекратит работу 31 марта 2016


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