Чтение данных из 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 данных.

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

Убираем вставку   в пустые div контейнеры в CKEditor 5

Апрель 9, 2025 г.

Неприятная особенность CKEditor - добавляет в пустые контейнера (в <div>,<p> и т.п.) html код неразрывного пробела. Покажу как можно от этого избавиться через код в кастомном плагине для CKEditor 5 в экосистеме Drupal 8+. Нам понадобится ...

Читать

Инициализируем кастомную тему в Drupal

Май 12, 2025 г.

При создании новой темы у вас есть варианты выбора начиная с того, чтобы взять готовую тему (и начать её менять под ваши задачи) до создания новой темы ...

Читать

Drupal: как получить список target_id из ссылочного поля без перебора массива

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

При работе с сущностями в Drupal нередко возникает задача: из ссылочного поля (entity reference) нужно достать список ID связанных объектов. Например, у нас есть нода с полем field_other_exclusions. Если вывести его содержимое через getValue(), ...

Читать

Рендер произвольного блока в Drupal 11

Март 13, 2025 г.

Если не хочется объявлять дополнительный регион, чтобы настроить вывод блока через админку, то можно сделать рендер блока программно. Например добавим в препроцессинг страницы переменную с рендером блока branding. Этот блок предоставляется модулем ...

Читать
 

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

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



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