Одноблочный вывод для Facebook / Instagram, вероятно, перестанет работать с 24 октября 2020 года

Это уже было урегулировано командой @team?

Конечные точки oEmbed теперь официально устарели.

Я читал об этом в некоторых темах здесь, и Facebook объявил об этом давно:

https://developers.facebook.com/docs/plugins/oembed/

Думаю, в дальнейшем потребуется аналогичный подход, как для Twitter oneboxes.

Это в руках @sam и @techAPJ

Посмотрите на:

Похоже, это всё ещё работает, а мы уже после 24 октября.

Кажется, мы используем Open Graph здесь:

Мета-тег meta name="description" остаётся стабильным, даже если Facebook однажды решит отказаться от Open Graph.

Я не вижу, чтобы нам нужно было что-то особенное делать здесь, @techAPJ.

Что-то действительно сломано сегодня?

Однобоксирование Instagram сейчас не работает здесь, на meta:

https://www.instagram.com/p/CGyuQuwoMFR

… и это даже после того, как мы обновили однобокс Instagram для использования тегов OpenGraph.

Отображение Instagram в один блок сейчас также не работает на наших размещённых сайтах.

Будет ли это рассмотрено в какой-то момент или включено в бэклог?

Да, это так. Точных сроков пока нет, но обсуждения уже ведутся. На данный момент мы пытаемся определить, сможем ли мы реализовать одноблочное отображение без каких-либо учётных данных, или же нам придётся следовать аналогичному пути, как в случае с встроенными твитами.

https://www.instagram.com/p/BZDhAJuFH-b/

Нам определённо нужно отладить это (jamie.wilson изучает возможность предоставления более подробной информации о том, почему мы не показываем onebox конечному пользователю) … в моём случае выше у нас есть:

        <title>
Amazing Kitchen Gadgets on Instagram: “We have only just caught up on the #GBBO 😱😱 Did you watch it the other night or have you not seen it yet? Tell us your thoughts! 🍰🍰…”
</title>

   <meta content="11 Likes, 1 Comments - Amazing Kitchen Gadgets (@amazingkitchengadgetuk) on Instagram: “We have only just caught up on the #GBBO 😱😱 Did you watch it the other night or have you not seen…”" name="description" />
    <meta property="og:site_name" content="Instagram" />
    <meta property="og:title" content="Amazing Kitchen Gadgets on Instagram: “We have only just caught up on the #GBBO 😱😱 Did you watch it the other night or have you not seen it yet? Tell us your thoughts! 🍰🍰…”" />
    <meta property="og:image" content="https://instagram.fsyd7-1.fna.fbcdn.net/v/t51.2885-15/e35/21688697_318778721927636_8744554647311613952_n.jpg?_nc_ht=instagram.fsyd7-1.fna.fbcdn.net&_nc_cat=108&_nc_ohc=YpwZaaId-vUAX-03OGr&tp=18&oh=3b6a96f126f5841c524572b0ed062678&oe=5FC8972F" />
    <meta property="og:description" content="11 Likes, 1 Comments - Amazing Kitchen Gadgets (@amazingkitchengadgetuk) on Instagram: “We have only just caught up on the #GBBO 😱😱 Did you watch it the other night or have you not seen…”" />

Похоже, что информации достаточно для создания onebox. Нам нужно отладить, почему здесь не отображается onebox (и мы объясним это конечным пользователям в будущем обновлении).

Спасибо за вашу поддержку!

Привет, я на версии 66ecefba52f4d907f035bc7c445d98883e1ff792, и у меня что-то странное происходит с моими onebox для Instagram: создаётся просто один тег с доменом сайта, затем URL Instagram, которого, очевидно, не существует… Теперь я даже не могу отключить это поведение?

image

Я получил токен доступа к приложению от FB/Insta через oEmbed с помощью:
curl -X GET "https://graph.facebook.com/oauth/access_token ?client_id={your-app-id} &client_secret={your-app-secret} &grant_type=client_credentials"

Я протестировал API oEmbed с помощью curl -X GET \ "https://graph.facebook.com/v9.0/instagram_oembed?url=https://www.instagram.com/p/fA9uwTtkSN/&access_token=IGQVJ...", и всё работало нормально… Я предположил, что именно это использует Discourse (discourse/spec/components/oneboxer_spec.rb at 331236d6d790dd41538668469f16f853c5699884 · discourse/discourse · GitHub)

В /logs ничего полезного или связанного с этим нет… Есть ли способ отладить это?

Та же картинка на Meta:
https://www.instagram.com/p/CHyvKpuFWXH/

Спасибо заранее! :heavy_heart_exclamation:

Добавили ли вы токен доступа к приложению в настройку сайта facebook app access token?

Думаю, да, это ID приложения (через | ) и base64-секрет, верно?

Редактирую: на другой управляемой мной установке Discourse с теми же учетными данными всё работает, так что, думаю, они в порядке.

Я пробовал /safe-mode, но всё равно безрезультатно. Сейчас просто сравниваю настройки между установками.

Вот что возвращает запрос /onebox?url=https%3A%2F%2Fwww.instagram.com%2Fp%2FCHxqj3bMxJc%2F&refresh=false&category_id=15&topic_id=21558:

<aside class="onebox instagram">
  <header class="source">
      <a href="https:/www.instagram.com/p/CHxqj3bMxJc" rel="noopener"></a>
  </header>
  <article class="onebox-body">
    <h3><a href="https:/www.instagram.com/p/CHxqj3bMxJc" rel="noopener">@</a></h3>



  </article>
  <div class="onebox-metadata">
    
    
  </div>
  <div style="clear: both"></div>
</aside>

Исправлено удалением discourse-onebox-assistant

О, спасибо за предупреждение. Сейчас нет времени это посмотреть, но я буду иметь это в виду, когда у меня появится возможность. PR приветствуется.

Я обновил код, включив в него новый скрипт Discourse. Надеюсь, совместимость улучшилась.