Еще один oembed провайдер, который мне понадобился не давно — VK VIDEO. Нужно было интегрировать видео с ВКонтакте в медиа библиотеку Drupal.
Если бы VK предлагали oembed endpoint, как многие ombed провайдеры, то настройка свелась бы просто к заданию конфигурации кастомного провайдера /admin/config/media/oembed-providers/custom-providers.
Т.е. мы бы ограничились установкой модуля oembed_providers.
Но VK предоставляет oembed данные через VK API. И этот подход требует создания web api, используя бизнес аккаунт. Дальше можно создать локальный endpoint, через который транслировать oembed json пакет как будто это и есть oembed провайдер.
Для реализации этого механизма я создал модуль vkoembed.
Модуль добавляет в список oembed провайдеров — VK Video, а также выступает в роли oembed провайдера. Но чтобы он мог обращаться к VK API, нужен сервисный ключ доступа.
Создание VK web app
Чтобы этот ключ получить, нужно зарегистрировать бизнес аккаунт в VK и «формально» создать т.н. web приложение.

Я говорю «формально», потому что само приложение уже создано (в виде drupal модуля), и нам требуется лишь формализовать доступ к VK API. Сервисный ключ определяет квоты и ограничения, которые будет накладываться на доступ к API. К примеру, в текущий момент базовое ограничение на количество запросов составляет 5 запросов в секунду.

Если ваш сайт требует больше/чаще обращаться за oembed информацией к VK, то возникнут определенные сложности, но вы можете расширить квоты, оплатив их согласно тарифам VK.
К счастью, модуль media, через который будут проходить данные, кеширует полученные oembed пакеты. И пока вы не сбросите кеши сайта, после которого могут массово запрашиваться данные из oembed провайдеров, проблем не возникнет.
При регистрации web app вам нужно будет указать базовый домен и доверенный redirect url. Можете указать домен/url вашего сайта. Эти настройки не важны для работы модуля, они нужны для пользовательской авторизации VK (если она используется приложением).
Каких то особых настроек/разрешений для созданного web app не требуется. Возможно, это изменится в будущем.
Возможные проблемы
Помимо очевидных квот, которые определяет VK API. Можно столкнуться с проблемами при тестировании интеграции на локальном сервере. Drupal предъявляет строгие требования к oembed провайдерам, и если если вы используете ssl (https) протокол на локальном сервере, то он вероятнее всего является self-signed.
Такие сертификаты не являются доверенными, и Drupal не будет читать информацию из такого oembed провайдера.

Настройка media type
У нас создан web app, получен сервисный ключ, установлен модуль vkoembed. Какой алгоритм действий дальше?
Настройка плагина vkoembed
Единственная настройка — прописать ключ. Это делается на странице /admin/config/vk_api/settings. Ключ становится частью конфигурации.
Создание ведра
Провайдеры, для использования в media type объединяются в т.н. buckets. Потому нам нужно подключить VK Video в какое то из них, или создать новый bucket.

/admin/config/media/oembed-providers/buckets
Если VK video не появился в списке, то попробуйте сбросить кеш вот на этой странице — /admin/config/media/oembed-providers. oembed-providers использует какой то свой кеш для списка провайдеров, и общая команда сброса кешей его не затрагивает.
Настройка media type
Теперь можно создать/обновить media type, который будет принимать данные в том числе из VK Video. При настройке, в качестве media source выбирайте созданное ранее ведро. И нужно будет отметить конкретно какие провайдеры из этого ведра разрешены.

Итог
Как результат всех действий вы сможете создавать media элементы вроде:

В моём проекте в bucket еще находится rutube провайдер, потому тип медиа называется Rutube/VK videos.
VK предоставляет все необходимые oembed данные, т.е. html код и данные о миниатюре, в общем, всё, что требуется для рендеринга.
