# Twitter ネイティブ埋め込み

**URL:** https://meta.discourse.org/t/twitter-native-embed/261792
**Category:** Theme component
**Created:** [2023 年 4 月 15 日午後 12:35 UTC](https://meta.discourse.org/t/twitter-native-embed/261792 "2023-04-15T12:35:49Z")
**Posts on this page:** 20
**Page:** 2

<div class="post-metadata">

### Author: ![satonotdead](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/satonotdead/32/447830_2.png) [@satonotdead](https://meta.discourse.org/u/satonotdead)
#### Post date: [2023 年 6 月 7 日午前 7:47 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/21 "2023-06-07T07:47:46Z")

</div>

> [@ljpp](#):
>
> プラットフォームには、信頼できる対抗馬や代替案はありません。

Redditも同じアプローチで買収されました。議論は本当に危険にさらされています\*(ほとんどの場合、遅すぎるまで誰も耳を傾けません)\*。

**もちろん、Discourseはあります** :slight_smile:

---

<div class="post-metadata">

### Author: ![Lhc\_fl](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lhc_fl/32/268115_2.png) [@Lhc\_fl](https://meta.discourse.org/u/Lhc_fl)
#### Post date: [2023 年 6 月 7 日午後 1:15 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/22 "2023-06-07T13:15:35Z")

</div>

> [@robotnjik](#):
>
> しかし、コンポーザーのプレビューでは、依然として「申し訳ありませんが、生成できません…」と表示されます。

これは機能です。編集中にiframeが複数回リクエストされるのを防ぐために、コンポーネントがコンポーズで有効になるのを許可しませんでした。

---

<div class="post-metadata">

### Author: ![wineberserkers](https://avatars.discourse-cdn.com/v4/letter/w/96bed5/32.png) [@wineberserkers](https://meta.discourse.org/u/wineberserkers)
#### Post date: [2023 年 6 月 27 日午後 5:15 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/23 "2023-06-27T17:15:31Z")

</div>

これをインストールすると、スレッドに移動したときに、まず「最後の投稿」に移動し、次にTwitter埋め込み機能が読み込まれて、毎回数投稿分巻き戻されることに気づきました。

この問題の修正方法はありますか？

---

<div class="post-metadata">

### Author: ![jazznutUVA](https://avatars.discourse-cdn.com/v4/letter/j/7ba0ec/32.png) [@jazznutUVA](https://meta.discourse.org/u/jazznutUVA)
#### Post date: [2023 年 6 月 27 日午後 5:50 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/24 "2023-06-27T17:50:44Z")

</div>

まだ問題が発生しています…何も埋め込まれていませんが、すべて設定されているように見えます…何かアイデアはありますか？

 ![image](https://global.discourse-cdn.com/meta/original/4X/f/4/8/f48a683986ab0d63c06aa805896bf8e3f0f6bf5c.png)

---

<div class="post-metadata">

### Author: ![Steven](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/steven/32/187890_2.png) [@Steven](https://meta.discourse.org/u/Steven)
#### Post date: [2023 年 6 月 28 日午後 1:16 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/25 "2023-06-28T13:16:27Z")

</div>

このテーマコンポーネントはTwitter APIを使用していないため、その側面で制限されることはありません。

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [2023 年 6 月 28 日午後 1:25 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/26 "2023-06-28T13:25:34Z")

</div>

Twitterのoneboxは、このコミットにより変更が加えられました: [FIX: Use Twitter API v2 for oneboxes and restore OpenGraph fallback (… · discourse/discourse@24c9053 · GitHub](https://github.com/discourse/discourse/commit/24c90534fb44ee634204cee377a7b0f0e5752caf)

テストインスタンスでこのテーマコンポーネントを試しましたが、メディアが表示されません:

 ![image](https://global.discourse-cdn.com/meta/original/4X/1/4/d/14d40c540d41e648f973338acc7e067df62da480.png)

これと関係がありますか？

---

<div class="post-metadata">

### Author: ![Lhc\_fl](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lhc_fl/32/268115_2.png) [@Lhc\_fl](https://meta.discourse.org/u/Lhc_fl)
#### Post date: [2023 年 6 月 29 日午前 5:01 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/27 "2023-06-29T05:01:04Z")

</div>

このテーマコンポーネントは、onebox が機能しない場合にのみ機能します。

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [2023 年 6 月 29 日午前 6:58 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/28 "2023-06-29T06:58:54Z")

</div>

承知しました :+1:.

テストしたところ、onebox がうまく機能しない場合（メディアが表示されないなど）は、コンポーネントを機能させるために **blocked onebox domains** に `twitter.com` を追加する必要があるようです。:slight_smile:

以下から：

 ![image](https://global.discourse-cdn.com/meta/original/4X/4/8/5/485928d25d43bc1a3264dff90630d2ea7e0e0311.png)

以下へ：

 ![image](https://global.discourse-cdn.com/meta/original/4X/4/7/c/47cc3e2b4f7372e85bb883871ac9e8018c8ed065.png)

> [@wineberserkers](#):
>
> すると、Twitter の埋め込み機能が機能し、毎回数投稿分スクロールバックされます。

私はテーマコンポーネントを広く使用しておらず、この問題には遭遇しませんでしたが、推測するに、Discourse はコンテンツが読み込まれる前に Twitter iframe の高さを把握できないのだと思います。iframe が読み込まれると、その周りのコンテンツが押し出され、この動作が発生します。

動画をキャプチャしていただけますか？

---

<div class="post-metadata">

### Author: ![agemo](https://avatars.discourse-cdn.com/v4/letter/a/ac91a4/32.png) [@agemo](https://meta.discourse.org/u/agemo)
#### Post date: [2023 年 6 月 29 日午前 9:54 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/29 "2023-06-29T09:54:46Z")

</div>

ツイートのワンボックスが再び機能し始め、このコンポーネントを上書きしています。今日、誰か気づきましたか？

約10時間前にアプリを再構築しました。現在のバージョンは3.1.0.beta5（[09feb03056](https://github.com/discourse/discourse/commits/09feb0305612361ee54092bc068f4b87d21c8250)）です。

これが突然の元に戻ったことに関連している可能性があります。

実際、ツイートのワンボックスの動作はこちらの方が好きです。ツイートをワンボックス化しないように除外する方法はありますか？

設定では`allowed onebox iframes`が見えますが、Twitterを除外するためだけにすべての可能なsrcをリストすることはできません。このようにワンボックスまたは少数を除外する方法はありますか？もしなければ、どうでしょうか？

そうでなければ、Twitter側で何かが再び変更された可能性があり、すべて偶然です。

他に気づいた人はいますか？ @Lhc_fl

---

<div class="post-metadata">

### Author: ![david](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/david/32/157490_2.png) [@david](https://meta.discourse.org/u/david)
#### Post date: [2023 年 6 月 29 日午前 9:58 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/30 "2023-06-29T09:58:04Z")

</div>

> [@agemo](#):
>
> ツイート用のワンボックスが再び機能し始めました

@jancernik Twitterの最近のAPI変更に従って修正しました :raised_hands:

> <https://github.com/discourse/discourse/commit/24c90534fb44ee634204cee377a7b0f0e5752caf>

> [@Canapin](#):
>
> コンテンツが読み込まれる前に、DiscourseはTwitter iframeの高さがどれくらいになるかを知らないのだと思います

はい、その通りです。そのため、Discourseコアでは「公式」Twitter埋め込みを使用していません。iframeの読み込み時にトピックがジャンプする原因となるためです。

---

<div class="post-metadata">

### Author: ![agemo](https://avatars.discourse-cdn.com/v4/letter/a/ac91a4/32.png) [@agemo](https://meta.discourse.org/u/agemo)
#### Post date: [2023 年 6 月 29 日午前 10:01 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/31 "2023-06-29T10:01:21Z")

</div>

あー、前の投稿を読んでおくべきだった！ :melting_face:

---

<div class="post-metadata">

### Author: ![agemo](https://avatars.discourse-cdn.com/v4/letter/a/ac91a4/32.png) [@agemo](https://meta.discourse.org/u/agemo)
#### Post date: [2023 年 6 月 29 日午前 10:05 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/32 "2023-06-29T10:05:37Z")

</div>

はい、ジャンプはトピックで非常に注目されていますが、正直なところ、ネイティブのTwitterスタイリングと、返信で親ツイートをキャプチャする方が好きです。

これにより、2つのTwitterリンクを投稿する手間が省けます。確かに、時には切り取られますが、コンポーネントの作成者には何も言いません。代替ソリューションに感謝しており、改善があればさらに良いです。

---

<div class="post-metadata">

### Author: ![agemo](https://avatars.discourse-cdn.com/v4/letter/a/ac91a4/32.png) [@agemo](https://meta.discourse.org/u/agemo)
#### Post date: [2023 年 6 月 29 日午前 10:14 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/33 "2023-06-29T10:14:11Z")

</div>

まさにこうなると思っていました。何度かビルドで発生したように記憶しています [Discourse jumps back 20 posts in post history when navigating to new topic](https://meta.discourse.org/t/discourse-jumps-back-20-posts-in-post-history-when-navigating-to-new-topic/242739)

---

<div class="post-metadata">

### Author: ![bsawicki](https://avatars.discourse-cdn.com/v4/letter/b/ebca7d/32.png) [@bsawicki](https://meta.discourse.org/u/bsawicki)
#### Post date: [2023 年 7 月 3 日午前 2:05 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/34 "2023-07-03T02:05:10Z")

</div>

> [@david](#):
>
> > [@Canapin](#):
> >
> > 私の推測では、Discourse はコンテンツが読み込まれる前に Twitter iframe がどれくらいの高さになるかを知らないということです。
> 
> はい、その通りです。そのため、Discourse のコアでは「公式」の Twitter embed を使用していません。iframe が読み込まれる際にトピックがジャンプする原因となります。

ジャンプを最小限に抑える方法はありますか？ 読み込まれたページに複数の Twitter リンクがある場合、非常に目立ち、迷惑です。プラグインのコードを見て、使用されている API を簡単に確認しましたが、コンテンツの高さを推定して blockquote 要素に高さを設定することでジャンプを軽減できるでしょうか、それともこれは非同期で呼び出される Twitter JavaScript のなすがままでしょうか？ Discourse API に詳しくないので、レンダリングの順序などがわかりません。また、それを判断する時間がありません。

---

<div class="post-metadata">

### Author: ![Steven](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/steven/32/187890_2.png) [@Steven](https://meta.discourse.org/u/Steven)
#### Post date: [2023 年 7 月 8 日午後 9:50 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/35 "2023-07-08T21:50:48Z")

</div>

このソリューションでは不十分だったので、少し追加します。

`twitter consumer key` と `twitter consumer secret` に何か（本当に何でもランダムで構いません）を追加する必要があります。

おそらく、古いAPIがまだ設定されていたのでしょう。

そうすれば、テーマコンポーネントが再び機能するはずです。

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [2023 年 7 月 8 日午後 10:12 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/36 "2023-07-08T22:12:53Z")

</div>

> [@Steven](#):
>
> おそらく、まだ古いAPIが残っていたのでしょう。

そうは思わないのですが、Twitterは（curlで取得する結果でさえ）ソフトウェアの動作を非常に頻繁に変更しています。最近、このせいで異なる体験をしたとしても、驚きません。

---

<div class="post-metadata">

### Author: ![satonotdead](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/satonotdead/32/447830_2.png) [@satonotdead](https://meta.discourse.org/u/satonotdead)
#### Post date: [2023 年 7 月 9 日午後 6:03 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/37 "2023-07-09T18:03:45Z")

</div>

念のため確認ですが、コンシューマーキーを有効にして、ブロックされたワンボックスドメインに`twitter.com`を設定したテーマコンポーネントを使用していますか？

---

<div class="post-metadata">

### Author: ![Canapin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/canapin/32/119591_2.png) [@Canapin](https://meta.discourse.org/u/Canapin)
#### Post date: [2023 年 7 月 10 日午前 7:07 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/38 "2023-07-10T07:07:31Z")

</div>

私の記憶では、Twitterはoneboxのブロック済みドメインにあり、管理画面でTwitterの認証情報を使用していませんでした。  
それ以来、コンポーネントを再度試していません。

---

<div class="post-metadata">

### Author: ![agemo](https://avatars.discourse-cdn.com/v4/letter/a/ac91a4/32.png) [@agemo](https://meta.discourse.org/u/agemo)
#### Post date: [2023 年 7 月 14 日午前 9:01 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/39 "2023-07-14T09:01:37Z")

</div>

最新の 3.6.0.beta6 アップデートで、[twitter.com](http://twitter.com) が設定の `blocked_onebox_domains` に含まれているにもかかわらず、Twitter の埋め込みが再び Onebox に戻ってしまいました。

---

<div class="post-metadata">

### Author: ![agemo](https://avatars.discourse-cdn.com/v4/letter/a/ac91a4/32.png) [@agemo](https://meta.discourse.org/u/agemo)
#### Post date: [2023 年 7 月 14 日午前 9:09 UTC](https://meta.discourse.org/t/twitter-native-embed/261792/40 "2023-07-14T09:09:32Z")

</div>

> [@Steven](#):
>
> このソリューションでは不十分だったので、少し追加します。
> 
> `twitter consumer key` と `twitter consumer secret` に何か（実際、ランダムなものでも構いません）を追加する必要があります。
> 
> おそらく、古いAPIがまだ配置されていたのでしょう。
> 
> そうすれば、テーマコンポーネントが再び機能するようになります。

oneboxドメインブロックはbeta5では十分だったので、最新のアップデートが何をしたにせよ、上記の追加のアドバイスはコンポーネントがツイートを再びレンダリングするようにするために機能しました。

[Previous page](https://meta.discourse.org/t/twitter-native-embed/261792.md?page=1)

[Next page](https://meta.discourse.org/t/twitter-native-embed/261792.md?page=3)
