В этом документе описывается, как использовать API JSON пользовательского поиска.
Оформление запроса
REST, или передача репрезентативного состояния , в JSON API пользовательского поиска несколько отличается от традиционного REST. Вместо предоставления доступа к ресурсам API предоставляет доступ к сервису. В результате API предоставляет единственный URI, который действует как конечная точка службы.
Вы можете получить результаты для определенного поиска, отправив запрос HTTP GET
на его URI. Вы передаете детали поискового запроса в качестве параметров запроса. Формат URI JSON API пользовательского поиска:
https://www.googleapis.com/customsearch/v1?[parameters]
Для каждого поискового запроса требуются три запроса [parameters]
:
- Ключ API . Используйте
key
параметр запроса для идентификации вашего приложения . Идентификатор программируемой поисковой системы . Используйте
cx
чтобы указать программируемую поисковую систему, которую вы хотите использовать для выполнения этого поиска. Поисковую систему необходимо создать с помощью панели управления . Примечание. Идентификатор поисковой системы (cx) может иметь другой формат (например, 8ac1ab64606d234f1).Поисковый запрос . Используйте параметр запроса
q
, чтобы указать выражение поиска.
Все остальные параметры запроса являются необязательными.
Вот пример запроса, который ищет лекции в тестовой программируемой поисковой системе:
GET https://www.googleapis.com/customsearch/v1?key=INSERT_YOUR_API_KEY&cx=017576662512468239146:omuauf_lfve&q=lectures
Параметры запроса
В запросе можно передать два типа параметров:
- Параметры, специфичные для API: определяют свойства вашего поиска, такие как выражение поиска, количество результатов, язык и т. д.
- Стандартные параметры запроса — определяют технические аспекты вашего запроса, например ключ API.
Все значения параметров должны быть закодированы в URL.
Параметры запроса, специфичные для API
Параметры запроса, которые применяются конкретно к JSON API пользовательского поиска и определяют ваш поисковый запрос, приведены в справочнике .
Стандартные параметры запроса
Параметры запроса, применимые ко всем операциям API пользовательского поиска JSON, описаны в разделе «Системные параметры» .
Данные ответа
Если запрос успешен, сервер отвечает кодом состояния HTTP 200 OK
и данными ответа в формате JSON. Структуру данных ответа вы можете посмотреть в справочнике .
Данные ответа представляют собой объект JSON, который включает в себя три типа свойств:
- Метаданные, описывающие запрошенный поиск (и, возможно, связанные поисковые запросы)
- Метаданные, описывающие программируемую поисковую систему
- Результаты поиска
Подробное описание каждого свойства смотрите в справке .
Метаданные поискового запроса
Метаданные поиска включают в себя:
-
url
, содержащее информацию о шаблоне OpenSearch, используемом для результатов, возвращаемых в этом запросе. - Свойство
queries
, которое представляет собой массив объектов, описывающих характеристики возможных поисков. Имя каждого объекта в массиве — это либо имя роли запроса OpenSearch, либо одна из двух пользовательских ролей, определенных этим API:previousPage
иnextPage
. Возможные объекты роли запроса включают в себя:-
request
: Метаданные, описывающие запрос для текущего набора результатов.- Эта роль всегда присутствует в ответе.
- Это всегда массив, состоящий всего из одного элемента.
-
nextPage
: метаданные, описывающие запрос, который будет использоваться для следующей страницы результатов.- Эта роль отсутствует, если текущие результаты являются последней страницей. Примечание. Этот API возвращает только первые 100 результатов.
- Если он присутствует, это всегда массив, состоящий только из одного элемента.
-
previousPage
: метаданные, описывающие запрос, который будет использоваться для предыдущей страницы результатов.- Не присутствует, если текущие результаты находятся на первой странице.
- Если он присутствует, это всегда массив, состоящий только из одного элемента.
-
Метаданные поисковой системы
Свойство context
содержит метаданные, описывающие поисковую систему, выполнившую поисковый запрос. Он включает имя поисковой системы и любые фасетные объекты , которые она предоставляет для уточнения поиска.
Результаты поиска
Массив items
содержит фактические результаты поиска. Результаты поиска включают URL-адрес, заголовок и текстовые фрагменты, описывающие результат. Кроме того, они могут содержать расширенную информацию о фрагментах , если это применимо.
Если результаты поиска включают свойство promotions
, оно содержит набор рекламных акций .
ОТДЫХ из JavaScript
Вы можете вызвать JSON API пользовательского поиска с помощью REST из JavaScript, используя параметр запроса callback
и функцию обратного вызова. Это позволяет вам писать многофункциональные приложения, которые отображают данные программируемой поисковой системы без написания кода на стороне сервера.
В следующем примере этот подход используется для отображения первой страницы результатов поиска по запросу cars :
<html>
<head>
<title>Custom Search JSON API Example</title>
</head>
<body>
<div id="content"></div>
<script>
function hndlr(response) {
for (var i = 0; i < response.items.length; i++) {
var item = response.items[i];
// Make sure HTML in item.htmlTitle is escaped.
document.getElementById("content").append(
document.createElement("br"),
document.createTextNode(item.htmlTitle)
);
}
}
</script>
<script src="https://www.googleapis.com/customsearch/v1?key=YOUR-KEY&cx=017576662512468239146:omuauf_lfve&q=cars&callback=hndlr">
</script>
</body>
</html>