Чтение данных из oembed провайдера

В Drupal 10/11 поддержка Oembed провайдеров в ядре (модуль media) позволяет легко и непринуждённо читать данные о медиа прямо из провайдера.

Ранее я рассказывал как зарегистрировать oembed для rutube, чтобы иметь возможность оперировать видео контентом с этого видео-хостинга.

На примере этого oembed провайдера, я покажу как извлечь json данные, о видео по его url.

К примеру, вы получили ID от media entity, и убедились, что это медиа контент нужного типа по его bundle, и теперь собираетесь прочитать метаданные о видео, которые предоставляются oembed сервером.

Медиа модуль предоставляет ряд сервисов, которые решают нашу задачу. Вы можете построить resource url просто по url видео.

media.oembed.url_resolver — предоставляет метод getResourceUrl, который пропускает ваш oembed_url через всех зарегистрированных провайдеров, а возвращает ссылку на oembed сервер.

media.oembed.resource_fetcher — позволяет считать данные с сервера (fetchResource), возвращая объект Drupal\media\OEmbed\Resource. Он также выполняет кеширование запросов, так что вам не нужно заботиться об этой рутинной операции.

Resource содержит все необходимые методы для чтения нужных полей oembed данных.

Мало букафф? Читайте есчо !

Как в шаблоне параграфа получить заголовок родительской ноды

Сентябрь 15, 2025 г.

Иногда возникает задача: в Twig-шаблоне параграфа (paragraph.html.twig) нужно отобразить заголовок материала (ноды), к которому этот параграф прикреплён. Нам не нужно передавать что то дополнительно в шаблон, эти данные могут быть получены из самой ...

Читать

Как сформировать отдельный хидер или футер для первой страницы в mPDF на примере Drupal

Декабрь 6, 2025 г.

Когда вам нужно создать PDF-документ с использованием библиотеки mPDF, бывает необходимо сделать так, чтобы на первой странице отображался отдельный футер (или хидер), отличающийся от остальных страниц. В этом примере мы рассмотрим, как использовать селектор ...

Читать

Добавляем в page cache зависимость от значения cookie

Март 4, 2025 г.

Модуль page_cache использует http_middleware, чтобы зацепиться за объект request и произвести кеширование страницы. Работает он для анонимных пользователей. ...

Читать

Drupal: возврат страницы из контроллера с установкой cookie и использованием шаблона темы

Сентябрь 12, 2025 г.

В Drupal контроллеры чаще всего возвращают Renderable-массивы. Такие массивы автоматически проходят через систему рендеринга и подставляются в базовый шаблон темы (page.html.twig). Но иногда бывает нужно получить полный Response с темизацией вручную — ...

Читать
 

Комментарии к «Чтение данных из oembed провайдера»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: