Twitter の埋め込みが壊れています

こんにちは。数日前から、DiscourseフォーラムでTwitterの埋め込みが機能しなくなり、各ツイートをクリックしないと表示されず、まず要約を確認できないという問題が発生しています。

現在の表示は以下の通りです。
image

ご存知の方がいれば、問題の原因と解決策をご教示ください。

「いいね!」 5

私の推測では、これ がこの問題に関連していると思われます。

同社は 2020 年 6 月 1 日に、元のサイトのレガシーテーマバージョンを終了します。

「いいね!」 2

私のサイトでも同様の問題が発生しています。私が運営している別のサイトでも同様です。

「いいね!」 1

試しに一つ投稿します:

try.discourse.org で埋め込みに失敗するツイートの例が見つかりますか?

「いいね!」 4

これは私のサイトで表示されなかったものです:

最新リリースを使用しています:

表示されない投稿へのリンク:
https://forums.agent49.net/t/d1-conference-adjustments-sports-being-canceled-thread/409/91?u=agent49

「いいね!」 2

リンクしたこの投稿は、私が利用しているサイトでも同じ問題が発生しています。

こちらのもう一つの例は、ここでは正常に埋め込まれているようですが、当フォーラムではうまくいかないようです。

管理パネルを確認したところ、最新バージョンではないことがわかりました。この2つのバージョン間で、修正につながる変更はありましたか?

「いいね!」 2

現在、Twitter から Open Graph タグが 1 つを除いてすべて欠落しています。

<meta property="og:site_name" content="Twitter" />

おそらく Twitter 専用の Onebox 向けの謎めいた API などを活用する以外に、対処法はないようです。

「いいね!」 6

Twitterが確かにOpenGraphタグを削除したようです。あなたのサイトでリッチ埋め込みを有効化すれば、それを回避する方法があります。

「いいね!」 10

http://www.opengraphtester.com/test/ による確認:

「いいね!」 3

ありがとうございます。今日、時間ができ次第、管理者にテストをお願いいたします。

「いいね!」 1

ありがとうございます、うまくいったようです。問題は動画が埋め込まれていないことですが、ツイート投稿者と説明文は表示されているので問題ありません。

「いいね!」 1

ありがとうございます。私にも機能しました。

「いいね!」 2

既存の回避策があっても、デフォルトではあまりにも壊れたように見えるため、いくつかのカスタム onebox ルールを追加するのは妥当だと思います。

「いいね!」 3

上記を実装してみましたが、それでも括弧が表示されるだけです。

「いいね!」 2

私も同じです。その回避策は私のフォーラムでは機能しません。

「いいね!」 2

ああ、いくつかの過去のリンクを除いて、今は正常に動作しています。フォーラムに何かがキャッシュされているのだと思います。再キャッシュする方法を探してみます。

「いいね!」 2

同じです… 忍耐は私が学ぶ必要があることですね… :smiley:

「いいね!」 2

この変更について Twitter のフォーラムに投稿しました。何か役立つ情報が見つかるか見てみましょう。

この変更は、サーバー側のレンダリング時間を節約するために行われたものだと考えています。タグは現在、クライアント側のレンダリング中に React によってのみ埋められるようになりました。これにより HTML が静的になり、Architecture  |  web.dev を採用できるようになりました。これにより、Web アプリのレンダリングが大幅に高速化されます。

「いいね!」 5

やっほー、回避策が見つかりました!

# 標準的な呼び出し
➜  ~ curl https://twitter.com/TwitterSupport/status/1267105441278033920 -s | grep og:
<meta property="og:site_name" content="Twitter" />

# 特殊なユーザーエージェント
➜  ~ curl https://twitter.com/TwitterSupport/status/1267105441278033920 -s -H "User-Agent: DiscourseBot/1.0" | grep og:
    <meta  property="og:type" content="article">
    <meta  property="og:url" content="https://twitter.com/TwitterSupport/status/1267105441278033920">
    <meta  property="og:title" content="Twitter Support on Twitter">
    <meta  property="og:image" content="https://pbs.twimg.com/profile_images/1266884366279471105/OTps6MBS_400x400.jpg">
    <meta  property="og:description" content="“To follow what’s happening in real time, tap the ✨ located at the top right of your Home timeline to change from seeing top Tweets to latest Tweets first.”">
    <meta  property="og:site_name" content="Twitter">

これを使えるでしょうか、@techAPJ

「いいね!」 6

確かに、とても助かります!:heart_eyes:

明日一番に Twitter の onebox エンジンを更新します。:memo:

「いいね!」 8