Как исправить ошибку Facebook oEmbed в WordPress

С 24 октября 2020 года Facebook прекращает поддержку неаутентифицированных встраиваний WordPress. Таким образом, если вы встраиваете контент Facebook и Instagram на веб-сайт WordPress, он не будет выводиться.

Старые конечные точки Facebook oEmbed заменяются новыми, которые требуют аутентификации через Facebook. Так как Facebook владеет Instagram, те же требования применяются и к конечным точкам Instagram oEmbed.

Как исправить ошибку Facebook oEmbed в WordPress

Из статьи вы узнаете, как WordPress использует конечные точки oEmbed Facebook и Instagram, что обновляется и как можно без проблем что-то исправить, чтобы встраивания продолжали работать должным образом.

Как WordPress использует oEmbed для встраивания содержимого

oEmbed – это протокол, по которому веб-сайты встраивают контент с иных сторонних веб-сайтов при помощи только URL-адреса. Он разработан в первую очередь для того, чтобы избежать необходимости копировать и вставлять HTML с иных веб-сайтов. WordPress использует oEmbed для выведения встроенного контента, такого как фотографии и видео.

Все, что вам необходимо сделать, это разместить URL-адрес ресурса в области содержимого, и WordPress автоматом превратит его во встраивание и покажет его предварительный просмотр в реальном времени.

Как исправить ошибку Facebook oEmbed в WordPress

Встраивание содержимого при помощи только URL-адреса в WordPress

В приведенном выше примере вставлена ссылка на видео YouTube, и WordPress автоматически преобразовал ее во встроенное видео. Протокол oEmbed будет основой WordPress для встраивания многих типов содержимого, таких как видео, картинки, обновления и многое иное, с разных платформ социальных сетей.

Хотя WordPress может встраивать очищенные фреймы от любого зарегистрированного поставщика oEmbed, он не встраивает их все по умолчанию из соображений безопасности. По умолчанию он встраивает только URL-адреса определенных санкционированных провайдеров oEmbed.

Список надежных поставщиков oEmbed для WordPress имеет большинство популярных хостинговых веб-сайтов и социальных сетей, таких как Imgur, Facebook, Instagram, Tumblr, YouTube, Vimeo и иные. От данных поставщиков можно без труда встраивать любой контент: видео, фреймы, JavaScript и даже случайный HTML.

Встроенные конечные точки Facebook и Instagram(устаревшие)

Конечные точки Facebook и Instagram oEmbed являются основой для встраивания содержимого Facebook и Instagram в веб-сайты WordPress.

Как исправить ошибку Facebook oEmbed в WordPress

Пример того, как WordPress встраивает содержимое Facebook

Конечные точки Facebook oEmbed могут WordPress приобретать не только основной содержимое, но и метаданные, такие как имя и логотип страницы, дату и время, миниатюру, число лайков, комментариев и репостов, а также URL-адрес источника.

Как исправить ошибку Facebook oEmbed в WordPress

Пример того, как WordPress встраивает контент Instagram

То же самое касается встраивания содержимого из Instagram. Вы можете без проблем видеть во встраивании не только изображение, но и важную информацию о метаданных, связанную с ним.

Новые конечные точки Facebook и Instagram «oEmbed»

Facebook недавно объявил о прекращении поддержки существующих конечных точек oEmbed, начиная с 24 октября 2020 года. Сейчас они называют данные старые конечные точки устаревшими конечными точками oEmbed.

К 24 октября 2020 года разработчики должны использовать токен посетителя, приложения или покупателя при запросе Graph API картинок профиля посетителя через UID, FB OEmbeds и IG OEmbeds. Разработчики должны предоставить токен посетителя или приложения при запросе картинок профиля через UID или ASID, хотя клиентские токены также поддерживаются. Посетите наш журнал изменений для User Picture , Facebook OEmbed и Instagram OE m bed, чтобы узнать, как вызывать данные конечные точки Graph API.Facebook для разработчиков

Что необходимо сделать, чтобы воспользоваться преимуществами Facebook oEmbed API

Идя против открытого характера веб API oEmbed, новый Facebook oEmbed API имеет в себя разные требования:

  • У вас должна быть учетная запись Facebook для разработчика.
  • Надо иметь зарегистрированное приложение Facebook для создания уникального идентификатора приложения.
  • Необходимо включить продукт oEmbed для зарегистрированного приложения.
  • Вы должны создать токен доступа к приложению или токен клиентского доступа.
  • Наконец, вы должны установить приложение Facebook в режим реального времени.

В ответ на данные новые требования WordPress удаляет Facebook и Instagram как надежные источники oEmbed.

Мы ожидаем, что следующее крупное обновление WordPress будет включать данные изменения. Если вы используете плагин Gutenberg, последняя версия Gutenberg 9.0 удалила для них поддержку.

Что происходит со старыми встраиваемыми файлами Facebook и Instagram?

WordPress кэширует ответы oEmbed в базе данных под типом post meta или скрытым oembed_cache типом записей(в настоящее время используется только в виджетах).

Так как WordPress не очищает данные значения по умолчанию, содержимое вложений будет по-прежнему существовать на сайте.

Но они будут удалены, если вы удалите их вручную из базы данных. Таким образом, любые встраиваемые файлы Facebook или Instagram, которые вы добавили до крайнего срока 24 октября 2020 года, сохранятся даже после даты прекращения поддержки.

Как встраивать содержимое Facebook и Instagram после 24 октября

Если вы попытаетесь внедрить содержимое Facebook или Instagram после того, как конечные точки oEmbed устарели, вы и посетители получите в ответ ошибки HTTP 400.

Чтобы помочь нам проверить, как новые попытки внедрения будут выводиться после крайнего срока, Facebook добавил настройка для устаревших конечных точек oEmbed для имитации ошибки.

Как исправить ошибку Facebook oEmbed в WordPress

Имитация встраивания с использованием устаревших конечных точек Facebook oEmbed

Резервные вставки Facebook будут выводиться в виде небольших отрывков(не более 120 символов) внутри цитат. Он также будет содержать ссылки на автора и первоисточник, но не более того.

Как исправить ошибку Facebook oEmbed в WordPress

Имитация встраивания с использованием устаревших конечных точек Instagram oEmbed

Для сравнения, резервные встраивания Instagram гораздо лучше, так как структура встраивания практически не повреждена.

С учетом сказанного, это временная проблема. Как только WordPress удалит конечные точки oEmbed Facebook и Instagram из ядра, устаревшие конечные точки oEmbed перестанут быть проблемой.

Единственный метод встраивать контент Facebook и Instagram – это соответствовать требованиям Facebook. Как это сделать, читайте в следующем разделе.

Смотрите также:

Какие размеры рекламных баннеров Google, Facebook и Instagram.

Как исправить ошибку oEmbed Facebook и Instagram в WordPress

Самый простой метод восстановить встраиваемые Facebook и Instagram в WordPress – использовать бесплатный плагин oEmbed Plus от Ayesh Karunaratne. Этот плагин реализует новые API-интерфейсы Facebook и Instagram oEmbed, восстанавливая встраиваемые Facebook и Instagram в редакторе блоков.

Как исправить ошибку Facebook oEmbed в WordPress

Установите и активируйте плагин.

Примечание: oEmbed Plus требует для работы PHP 7.3 или более поздних версий.

Далее создайте учетную запись Facebook для разработчиков, если у вас ее ещё нет, и приложение. Для примера назовем приложение «WordPress Site», но можете легко называть его как угодно.

Как исправить ошибку Facebook oEmbed в WordPress

Создать приложение на портале Facebook для разработчиков

Создание приложения автоматом сгенерирует для него идентификатор приложения.

Вы можете без проблем просматривать App ID и App Secret, перейдя в Параметра → Базовая панель под приложением. Запишите данные два значения, поскольку они понадобятся вам позже.

Как исправить ошибку Facebook oEmbed в WordPress

Facebook для разработчиков «App ID» и «App Secret»

Пока вы здесь, установите URL Privacy Policy, как это требуется. Рекомендуется использовать надлежащую политику конфиденциальности, чтобы приложение не попало в черный список.

OEmbed Product автоматически включается по умолчанию, поэтому вы можете оставить его как есть.

Далее перейдите на экран Параметра → Запись на панели инструментов WordPress и найдите раздел Параметра встраивания в Facebook и Instagram. Введите значения App ID и App Secret , которые вы записали ранее.

Как исправить ошибку Facebook oEmbed в WordPress

Параметр настроек плагина oEmbed Plus

Кроме того, вы можете легко добавить App ID и App Secret в wp-config.php файл. Вот фрагмент кода, который вам необходимо использовать:

define('OEMBED_PLUS_FACEBOOK_APP_ID', '7168...app.id...789'); define('OEMBED_PLUS_FACEBOOK_SECRET', '20e5...app.secret...890xyz');

Не забудьте настроить значения, указанные выше, на! После этого сохраните файл.

Если вы отредактируете wp-config.php файл для параметра oEmbed Plus, он автоматом отключит поля ввода формы App ID и App Secret на панели управления WordPress. Таким образом, вы можете без проблем хранить ваши учетные данные в секрете от иных посетителей.

Все новые встраиваемые Facebook и Instagram сейчас будут использовать новый API аутентификации для встраивания контента на веб-сайт WordPress.

Иные специализированные плагины для социальных сетей, такие как Instagram Feed и Social Post Feed, также добавляют поддержку новых конечных точек Facebook oEmbed. Однако данные плагины поставляются в комплекте с множеством возможностей, так что они могут быть ненужным грузом для веб-сайта в этом конкретном случае. Если вы используете данные плагины, то можете их проверить.

WordPress – самая популярная из используемых сегодня CMS. Точно так же Facebook и Instagram являются самыми популярными платформами социальных сетей. Следовательно, это изменение потенциально затронет миллионы веб-сайтов.

Встраивание содержимого социальных сетей в WordPress предоставляет пользователям веб-сайта уникальное взаимодействие. Начиная с 24 октября 2020 года многим неосведомленным посетителям будет сложно встраивать содержимое из Facebook и Instagram. Надеемся, что эта статья помогла вам решить проблему с oEmbed Facebook в WordPress.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *