An open API service indexing awesome lists of open source software.

https://github.com/phphleb/yandex-api-turbo-pages

Генерация турбостраниц через API Яндекса
https://github.com/phphleb/yandex-api-turbo-pages

Last synced: 11 months ago
JSON representation

Генерация турбостраниц через API Яндекса

Awesome Lists containing this project

README

          

### Генерация турбостраниц через API Яндекса

Для малопосещаемых сайтов API Яндекса может не отдавать требуемые данные.

#### Установка

Скопировать класс из репозитория или при помощи Composer:

```html
$ composer require phphleb/yandex-api-turbo-pages
```

#### Пример подключения
```php

$host = "https:example.ru:443"; // Url сайта, для которого загружаются страницы. Внимание(!) - без слешей. Порт для https - 443
$api_url = 'https://api.webmaster.yandex.net/v4/user'; // Url запроса для получения user_id
$auth = 'KEY'; // Код авторизации (токен, сгенерированный для сайта в Яндекс.Вебмастере)
$debug = true; // Включение / выключение режима отладки DEBUG
$version = "v4"; // Версия API из параметра url
$curl = false; // производить запросы через cURL (если нет возможности включить allow_url_fopen на сервере)

// 1) Инициализация
$channel = new \YandexAPITurboPages\YandexAPI($host, $api_url, $auth, $debug, $version, $curl);

// 2) Сгенерированный XML-контент для передачи (по стандарту API Яндекса для турбостраниц)
$content = '< ... >';

// 3) Формирование ссылки (с получением адреса загрузки)
$link = $channel->getLink();

// 4) Добавить канал (c получением task_id)
$task = $channel->addContent($content);

// Дополнительно:

// Запросить информацию о добавленном канале (возвращает массив с информацией)
$channel_info = $channel->getChannelInfo($task);

// Запросить информацию о добавленных каналах за месяц (возвращает массив с перечнем каналов)
$info = $channel->getChannelsInfoForPeriod();

// Если передача контента заняла длительное время и адрес по ссылке устарел, необходимо её обновить
$link = $channel->updateLinkUrl();

// Получить срок годности текущего адреса загрузки, к нему можно привязать обновление ссылки
$action_time = $channel->getValidUntil();

// Проверить на наличие ошибок при выполнении запросов
$existing_errors = $channel->getErrorChecking();

```