C# SDK engine
Google Play Books
Книги и аудиокниги Google Play: поиск по фразе, категориям, plain search, чарты, секции и пагинация.
C# пример
Вызов через XylopSearchClient
using Xylop.Api.Client;
var client = new XylopSearchClient(new HttpClient(), "YOUR_API_KEY");
using var response = await client.SearchJsonAsync(
XylopSearchEngines.GooglePlayBooks,
new Dictionary<string, string?>
{
["q"] = "coffee",
["books_category"] = "coll_1689",
["gl"] = "us",
["hl"] = "en",
["price"] = "1",
});
Для типизированного режима используйте `SearchAsync<TResponse>` и response-модель из `Xylop.Logic.SerpApiResponses.*`, которая входит в пакет C# SDK.
Endpoint
HTTP контракт
- URL
https://api.xylop.ru/search- Engine
google_play_books- API key
- Передается SDK автоматически из настроек клиента.
Входные параметры
Параметры запроса
| Параметр | Тип | Обязателен | Значение | Описание |
|---|---|---|---|---|
api_key
SDK
|
string | Да | — | Ключ Xylop API. В C# SDK задается один раз в XylopSearchClientOptions.ApiKey или в конструкторе клиента. |
engine
SDK
|
string | Да |
google_play_books
|
Движок Google Play Books. |
q
|
string | Нет | coffee | Поисковая фраза. Можно не указывать для plain search или category search. |
books_category
|
string | Нет | coll_1689 | Категория Google Play Books. |
gl
|
string | Нет |
us
|
Код страны Google Play. |
hl
|
string | Нет |
en
|
Язык интерфейса. |
price
|
number | Нет | 1 | Фильтр цены для q: 1 free, 2 paid. |
age
|
string | Нет | AGE_RANGE2 | Возрастной фильтр для children's books. |
chart
|
string | Нет | topselling_free | Значение из chart_options для top charts. |
next_page_token
|
string | Нет | pagination.next_page_token | Токен следующей страницы. |
section_page_token
|
string | Нет | section token | Токен пагинации внутри отдельной секции. |
see_more_token
|
string | Нет | see_more_token | Токен раскрытия отдельной секции. |
Выходные параметры
Поля ответа
| Поле | Тип | Источник | Описание |
|---|---|---|---|
search_metadata |
object | пример ответа | Метаданные запроса: статус, идентификатор, время выполнения и служебная информация провайдера. |
search_parameters |
object | пример ответа | Нормализованные параметры, с которыми upstream-поиск выполнил запрос. |
chart_options |
array | пример ответа | Типизированное поле ответа для этого engine; структура зависит от upstream-провайдера и параметров запроса. |
organic_results |
array | пример ответа | Основные органические результаты выдачи: позиции, заголовки, ссылки и сниппеты. |
pagination |
object | пример ответа | Данные пагинации или токены для перехода к следующей странице. |
JSON
Пример ответа
{
"search_metadata": {
"status": "Success",
"google_play_books_url": "https://play.google.com/store/search?q=coffee&c=books&hl=en&gl=us"
},
"search_parameters": {
"engine": "google_play_books",
"q": "coffee",
"hl": "en",
"gl": "us"
},
"chart_options": [
{
"text": "Top selling",
"value": "topselling_paid"
}
],
"organic_results": [
{
"title": "Books about coffee",
"see_more_token": "...",
"items": [
{
"title": "The World Atlas of Coffee",
"link": "https://play.google.com/store/books/details?id=...",
"product_id": "...",
"rating": 4.6,
"author": "James Hoffmann",
"category": "Cooking",
"price": "$14.99",
"extracted_price": 14.99,
"thumbnail": "https://books.google.com/books/publisher/content/images/frontcover/...",
"description": "A guide to coffee from beans to brewing."
}
]
}
],
"pagination": {
"next_page_token": "..."
}
}