# Встраивание YouTube перестало работать на серверах в Европе

**URL:** https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128
**Category:** Bug
**Created:** [01.Апрель.2021 15:46:04 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128 "2021-04-01T15:46:04Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![chrispanag](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chrispanag/32/105853_2.png) [@chrispanag](https://meta.discourse.org/u/chrispanag)
#### Post date: [01.Апрель.2021 15:46:04 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/1 "2021-04-01T15:46:04Z")

</div>

Когда вы пытаетесь создать превью для ссылки на YouTube, YouTube автоматически перенаправляет на страницу с именем [consent.youtube.com](http://consent.youtube.com). На этой странице отсутствуют теги oEmbed/OpenGraph, поэтому создание превью, к сожалению, не работает.

 ![Screenshot 2021-04-01 at 18.42.07](https://global.discourse-cdn.com/meta/original/3X/b/2/b29abe69550bcaa61b7118e42f57933a28eb35e1.png)

Это, безусловно, не ошибка Discourse, а связано с (как кажется) изменением на стороне YouTube, которое нарушает работу. Я подозреваю, что это происходит из-за нового европейского регулирования, так как на meta я не могу воспроизвести эту проблему.

Наш сервер находится в Европе (Германия), и вы можете увидеть URL перенаправления [здесь](https://consent.youtube.com/m?continue=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DBBxnD3Opifw&gl=DE&m=0&pc=yt&uxe=23983172&hl=de&src=1).

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [01.Апрель.2021 15:50:31 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/2 "2021-04-01T15:50:31Z")

</div>

Частично исправлено с помощью плагина [Onebox Assistant](https://meta.discourse.org/t/onebox-assistant-crawl-for-those-previews-reliably/107405), но не полностью (он отображает встраивание, но больше не возвращает заголовок).

---

<div class="post-metadata">

### Author: ![chrispanag](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chrispanag/32/105853_2.png) [@chrispanag](https://meta.discourse.org/u/chrispanag)
#### Post date: [01.Апрель.2021 15:51:19 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/3 "2021-04-01T15:51:19Z")

</div>

Думаю, для YouTube должно быть какое-то конкретное решение через API-ключ или что-то подобное…

---

<div class="post-metadata">

### Author: ![Richie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/richie/32/115110_2.png) [@Richie](https://meta.discourse.org/u/Richie)
#### Post date: [01.Апрель.2021 18:49:14 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/4 "2021-04-01T18:49:14Z")

</div>

Я заходил сюда вчера вечером, чтобы сообщить об этой же проблеме, так как она тоже у нас в последнее время происходит, но когда я вставил свой пример ссылки YouTube, здесь на Meta всё сработало отлично 🙄

Мой Discourse — версия v2.7.0.beta5 ([61860098d9](https://github.com/discourse/discourse/commits/61860098d979933348dd95e144d1b9ccec1fcdd8))

 ![image](https://global.discourse-cdn.com/meta/original/3X/f/f/ffab656bb8158c33dba673f7b4e39ac26e6a7848.jpeg)

---

<div class="post-metadata">

### Author: ![chrispanag](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chrispanag/32/105853_2.png) [@chrispanag](https://meta.discourse.org/u/chrispanag)
#### Post date: [01.Апрель.2021 19:17:59 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/5 "2021-04-01T19:17:59Z")

</div>

> [@Richie](#):
>
> Здесь на meta всё работало отлично

Скорее всего, потому что сервер meta находится не в Европе 😅

---

<div class="post-metadata">

### Author: ![Richie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/richie/32/115110_2.png) [@Richie](https://meta.discourse.org/u/Richie)
#### Post date: [01.Апрель.2021 19:40:25 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/6 "2021-04-01T19:40:25Z")

</div>

Великобритания сейчас тоже нет 🤣

---

<div class="post-metadata">

### Author: ![Iceman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/iceman/32/181309_2.png) [@Iceman](https://meta.discourse.org/u/Iceman)
#### Post date: [02.Апрель.2021 03:47:43 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/7 "2021-04-02T03:47:43Z")

</div>

Проблема связана с «Формой согласия на обработку данных»: OneBox перехватывает именно её, а не фактический контент.

Если вместо `https://youtube.com/watch?v=XYZ` использовать `https://youtu.be/XYZ`, всё заработает, так как это «ссылка для обмена», которая не вызывает диалог согласия. (Однако это не идеальное решение).

Возможно, в качестве быстрого исправления стоит добавить функцию автоматического преобразования URL в «короткую версию» при создании превью в OneBox? Не уверен, просто предоставляю дополнительную информацию и обратную связь.

---

<div class="post-metadata">

### Author: ![Richie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/richie/32/115110_2.png) [@Richie](https://meta.discourse.org/u/Richie)
#### Post date: [03.Апрель.2021 10:05:03 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/8 "2021-04-03T10:05:03Z")

</div>

Поскольку наше сообщество активно использует медиа, его участники поделились тысячами и тысячами видеороликов на YouTube, при этом ежемесячно публикуется несколько сотен новых видео.

Это изменение со стороны YouTube уже становится серьёзной проблемой, но я не думаю, что её можно решить силами Discourse, если сам YouTube принуждает к перенаправлению на свою страницу согласия?

---

<div class="post-metadata">

### Author: ![bartv](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bartv/32/130052_2.png) [@bartv](https://meta.discourse.org/u/bartv)
#### Post date: [03.Апрель.2021 10:17:01 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/9 "2021-04-03T10:17:01Z")

</div>

Присоединяюсь к этому сообщению, так как это тоже станет большой проблемой для нашего сообщества.

---

<div class="post-metadata">

### Author: ![merefield](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/merefield/32/176214_2.png) [@merefield](https://meta.discourse.org/u/merefield)
#### Post date: [03.Апрель.2021 11:01:34 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/10 "2021-04-03T11:01:34Z")

</div>

Обновление: Заголовок снова работает (как и встроенный контент) с Onebox Assistant.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [03.Апрель.2021 12:41:58 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/11 "2021-04-03T12:41:58Z")

</div>

Итак, если бы Discourse переписывал URL так, как вы описываете, во время обработки поста, это бы исправило проблему?

Если это так, то плагин мог бы это исправить (возможно, даже компонент темы?), и я предполагаю, что они с радостью примут pull-запрос и/или исправят это довольно быстро.

---

<div class="post-metadata">

### Author: ![Iceman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/iceman/32/181309_2.png) [@Iceman](https://meta.discourse.org/u/Iceman)
#### Post date: [03.Апрель.2021 14:34:47 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/12 "2021-04-03T14:34:47Z")

</div>

> [@pfaffman](#):
>
> Так что, если бы Discourse переписывал URL так, как вы описываете, при обработке поста, это бы исправило ситуацию?

Технически — да. Я провёл много тестов, и это стабильно работает: с коротким URL всё в порядке, а с «официальным» — нет.

---

<div class="post-metadata">

### Author: ![bartv](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bartv/32/130052_2.png) [@bartv](https://meta.discourse.org/u/bartv)
#### Post date: [03.Апрель.2021 17:27:54 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/13 "2021-04-03T17:27:54Z")

</div>

Я бы не стал считать это стабильным обходным решением; велика вероятность, что Google в ближайшем будущем применит ту же политику и к ним.

---

<div class="post-metadata">

### Author: ![Iceman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/iceman/32/181309_2.png) [@Iceman](https://meta.discourse.org/u/Iceman)
#### Post date: [03.Апрель.2021 17:46:09 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/14 "2021-04-03T17:46:09Z")

</div>

Да, это не так.

Просто это кажется очень «смешным», потому что работают оба варианта: `https://youtu.be/VIDEO` и удаление «www» из обычного URL, то есть `https://youtube.com/watch?v=VIDEO`. Таким образом, критерии «блокировки» с всплывающим окном согласия не выглядят очень «логичными» с точки зрения пользователя.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [03.Апрель.2021 18:12:02 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/15 "2021-04-03T18:12:02Z")

</div>

Я не спорю, но тогда остаётся только одно решение — не использовать YouTube. 🤷‍♂️

---

<div class="post-metadata">

### Author: ![Richie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/richie/32/115110_2.png) [@Richie](https://meta.discourse.org/u/Richie)
#### Post date: [03.Апрель.2021 18:33:24 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/16 "2021-04-03T18:33:24Z")

</div>

> [@pfaffman](#):
>
> Так что, если Discourse переписывал бы URL, как вы описываете, при готовке поста, это бы исправило проблему?

Вам также нужно будет перехватить предварительный просмотр редактора, чтобы не показывать пользователю это катастрофическое сообщение об ошибке:

[![](https://global.discourse-cdn.com/meta/original/3X/b/2/b29abe69550bcaa61b7118e42f57933a28eb35e1.png) ](https://global.discourse-cdn.com/meta/original/3X/b/2/b29abe69550bcaa61b7118e42f57933a28eb35e1.png)

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [06.Апрель.2021 02:53:47 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/17 "2021-04-06T02:53:47Z")

</div>

> [@Iceman](#):
>
> Проблема связана с «Формой согласия на обработку данных», и OneBox перехватывает её вместо реального содержимого.

Ой, нам определённо стоит это проверить! Спасибо за сообщение.

---

<div class="post-metadata">

### Author: ![Richie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/richie/32/115110_2.png) [@Richie](https://meta.discourse.org/u/Richie)
#### Post date: [06.Апрель.2021 10:48:43 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/19 "2021-04-06T10:48:43Z")

</div>

Добавлю ещё: та же проблема возникает и для ссылок на аккаунты `/user/`:

 ![image](https://global.discourse-cdn.com/meta/original/3X/c/3/c32e6707188d74a8d9c96d2546d3fa130a0a76f9.png)

---

<div class="post-metadata">

### Author: ![jamie.wilson](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jamie.wilson/32/185466_2.png) [@jamie.wilson](https://meta.discourse.org/u/jamie.wilson)
#### Post date: [06.Апрель.2021 19:18:43 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/22 "2021-04-06T19:18:43Z")

</div>

> [@Iceman](#):
>
> Я провёл множество тестов, и результат постоянен: короткая ссылка работает, а «официальная» — нет.

Не могли бы вы ещё раз проверить эти URL? Вот что я сейчас вижу с сервера во Франкфурте (вывод wget отредактирован, чтобы показать только перенаправления):

```plaintext
wget 'https://youtu.be/KCyIfcevExE'

--2021-04-06 19:03:39-- https://youtu.be/KCyIfcevExE
Location: https://www.youtube.com/watch?v=KCyIfcevExE&feature=youtu.be [following]

--2021-04-06 19:03:39-- https://www.youtube.com/watch?v=KCyIfcevExE&feature=youtu.be
Location: https://consent.youtube.com/m?continue=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DKCyIfcevExE%26feature%3Dyoutu.be&gl=DE&m=0&pc=yt&uxe=23983172&hl=de&src=1 [following]

```

или

```plaintext
wget 'https://youtube.com/watch?v=KCyIfcevExE'

--2021-04-06 19:05:45-- https://youtube.com/watch?v=KCyIfcevExE
Location: https://consent.youtube.com/m?continue=https%3A%2F%2Fyoutube.com%2Fwatch%3Fv%3DKCyIfcevExE&gl=DE&m=0&pc=yt&uxe=23983172&hl=de&src=1 [following]

--2021-04-06 19:05:45-- https://consent.youtube.com/m?continue=https%3A%2F%2Fyoutube.com%2Fwatch%3Fv%3DKCyIfcevExE&gl=DE&m=0&pc=yt&uxe=23983172&hl=de&src=1
Location: https://consent.youtube.com/ml?continue=https://youtube.com/watch?v%3DKCyIfcevExE&gl=DE&hl=de&pc=yt&uxe=23983172&src=1 [following]

```

(то есть оба формата URL теперь также перенаправляют на страницу согласия)

---

<div class="post-metadata">

### Author: ![Richie](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/richie/32/115110_2.png) [@Richie](https://meta.discourse.org/u/Richie)
#### Post date: [06.Апрель.2021 19:39:26 UTC](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128/23 "2021-04-06T19:39:26Z")

</div>

Я только что проверил эту ссылку для вас с моего сервера в Великобритании, и она корректно отобразилась в превью:

 ![Screen Shot 2021-04-06 at 20.37.12](https://global.discourse-cdn.com/meta/original/3X/3/6/362ddb0e83a3d33113995837659e8bc0e0b9a270.png)

А если я изменю её на полную/длинную ссылку, проблема с согласием возникает снова:

 ![Screen Shot 2021-04-06 at 20.39.00](https://global.discourse-cdn.com/meta/original/3X/0/2/025b5248b11ceda36b1cba5bc3f12cddda31c266.png)

[Следующая страница](https://meta.discourse.org/t/youtube-embeddings-have-stopped-working-for-servers-in-europe/185128.md?page=2)
