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

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

Отключаем страницы терминов таксономии в Drupal

Июль 21, 2025 г.

По умолчанию Drupal генерирует маршруты для каждого термина таксономии. Это означает, что у каждого термина появляется своя страница с URL вида /taxonomy/term/123. В некоторых случаях такие страницы могут быть полезны, например, если вы используете термины ...

Читать

Кастомные настройки сайта в Drupal

Март 9, 2025 г.

На сайте всегда (или почти всегда) возникает задача управления настройками вроде телефон, email, какие то текстовые элементы, вроде копирайта, адрес организации и т.п. С точки зрения данных - требуется объект в терминах шаблонов проектирования - синглтон. ...

Читать

Добавление произвольных требований при установке модуля в Drupal

Май 7, 2025 г.

Иногда модуль в Drupal требует наличия специфических сущностей или конфигураций, например — определённого текстового формата. Поскольку текстовые форматы являются конфигурационными сущностями (entities), напрямую указать их как зависимость в .info.yml ...

Читать

Проброс переменных из PHP в JS (в Drupal) с использованием js_settings_alter

Ноябрь 14, 2025 г.

В этой статье мы рассмотрим, как пробросить данные из PHP в JavaScript в Drupal 11 с использованием js_settings_alter(). Этот метод позволяет изменять или добавлять переменные в объект drupalSettings, который доступен в JavaScript на всех страницах. ...

Читать
 

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

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



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