# Twitter链接不再是oneboxing

**URL:** <https://meta.discourse.org/t/twitter-links-are-no-longer-oneboxing/269371>\
**Category:** Bug\
**Tags:** onebox\
**Created:** [2023年六月23日 09:17 UTC](https://meta.discourse.org/t/twitter-links-are-no-longer-oneboxing/269371 "2023-06-23T09:17:16Z")\
**Posts on this page:** 14\
**Page:** 1

<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:** [2023年六月23日 09:17 UTC](https://meta.discourse.org/t/twitter-links-are-no-longer-oneboxing/269371/1 "2023-06-23T09:17:16Z")

</div>

今天早上更新到最新版本（3.1.0.beta5（ [303fcf303c](https://github.com/discourse/discourse/commits/303fcf303c8734bc474a0155d27642656a0e0f64) ））后，我们发现 Twitter 链接不再支持 oneboxing：

> <https://twitter.com/UKDroneClub/status/1670504740096974848>

> <https://twitter.com/discourse/status/1671991935303598082>

在这里的 meta 上也不起作用 😕

---

<div class="post-metadata">

**Author:** ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)\
**Post date:** [2023年六月23日 14:14 UTC](https://meta.discourse.org/t/twitter-links-are-no-longer-oneboxing/269371/4 "2023-06-23T14:14:01Z")

</div>

感谢您的报告，这里有几个可能的问题。

首先，我认为 Twitter 完全阻止了所有非浏览器使用者（如机器人、爬虫等）通过 OpenGraph 获取推文信息。我们团队的许多人在几天前就无法在 WhatsApp、Telegram 和其他应用程序中获取推文的 onebox 了。

其次，上周他们宣布了 [https://twittercommunity.com/t/deprecation-of-legacy-access-tiers-in-the-twitter-api/196162，对我们来说，这意味着我们无法再通过](https://twittercommunity.com/t/deprecation-of-legacy-access-tiers-in-the-twitter-api/196162%EF%BC%8C%E5%AF%B9%E6%88%91%E4%BB%AC%E6%9D%A5%E8%AF%B4%EF%BC%8C%E8%BF%99%E6%84%8F%E5%91%B3%E7%9D%80%E6%88%91%E4%BB%AC%E6%97%A0%E6%B3%95%E5%86%8D%E9%80%9A%E8%BF%87) `/1.1/statuses/show` 路由获取推文了。

我们昨天通过 @jancernik [FIX: Use Twitter API v2 for oneboxes and restore OpenGraph fallback (… · discourse/discourse@24c9053 · GitHub](https://github.com/discourse/discourse/commit/24c90534fb44ee634204cee377a7b0f0e5752caf) 添加了一个修复程序——该程序将我们的代码切换到使用 Twitter 的 v2 API，这是获取 onebox 唯一剩下的途径。在我们的测试中，它有效，但前提是 API 密钥来自付费套餐。我刚刚检查了一下，看起来在这里的 meta 上我们使用的是免费套餐的 API 密钥（我们正在修复这个问题），这很可能是它在您的实例上不起作用的原因。

请注意，Jan 的 PR 添加了 OpenGraph 回退，但在他进行开发时，Twitter 也阻止了对它的访问。这很有可能永远无法正常工作（我们将删除回退代码）。

底线是：如果不为 API 访问付费给 Twitter，onebox 可能永远无法正常工作。这是一个令人 sad 的局面。

---

<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:** [2023年六月23日 18:25 UTC](https://meta.discourse.org/t/twitter-links-are-no-longer-oneboxing/269371/7 "2023-06-23T18:25:34Z")

</div>

感谢您的见解和非常详细的回复 @pmusaraj 👏 🙇‍♂️

> [@pmusaraj](#):
>
> 底线是：如果不为 API 访问付费给 Twitter，onebox 可能永远无法正常工作。这真令人沮丧。

难道不是吗 :sigh: 😕

---

<div class="post-metadata">

**Author:** ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)\
**Post date:** [2023年六月23日 19:02 UTC](https://meta.discourse.org/t/twitter-links-are-no-longer-oneboxing/269371/8 "2023-06-23T19:02:44Z")

</div>

我已经更新了 meta 上使用的 API 密钥，并重新构建了 OP。推文现在在此处（以及我们托管中的客户端）正确嵌入。但 OP 提出的问题仍然适用于自托管者。

这里的另一个选择是加载原生的 Twitter 嵌入，请参阅[此主题组件](https://meta.discourse.org/t/twitter-native-embed/261792)。

---

<div class="post-metadata">

**Author:** ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)\
**Post date:** [2023年六月23日 19:30 UTC](https://meta.discourse.org/t/twitter-links-are-no-longer-oneboxing/269371/9 "2023-06-23T19:30:16Z")

</div>

感谢您修复此问题，@pmusaraj - 我的论坛上的 Twitter 嵌入现在可以正常工作了。 🙂

---

<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:** [2023年六月23日 19:52 UTC](https://meta.discourse.org/t/twitter-links-are-no-longer-oneboxing/269371/10 "2023-06-23T19:52:02Z")

</div>

> [@pmusaraj](#):
>
> 我刚刚更新了在 meta 上使用的 API 密钥

你的意思是，要使用付费版本？ 🤔

---

<div class="post-metadata">

**Author:** ![pmusaraj](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pmusaraj/32/119489_2.png) [@pmusaraj](https://meta.discourse.org/u/pmusaraj)\
**Post date:** [2023年六月23日 19:53 UTC](https://meta.discourse.org/t/twitter-links-are-no-longer-oneboxing/269371/11 "2023-06-23T19:53:56Z")

</div>

是的，我们使用了付费托管套餐。

---

<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:** [2023年六月23日 19:59 UTC](https://meta.discourse.org/t/twitter-links-are-no-longer-oneboxing/269371/12 "2023-06-23T19:59:18Z")

</div>

> [@pmusaraj](#):
>
> 这里还有一个替代选项，可以加载原生的 Twitter embeds，请参阅 [这个主题组件](https://meta.discourse.org/t/twitter-native-embed/261792)。

遗憾的是，该组件似乎也不再起作用了 😕

 ![Screenshot 2023-06-23 at 20.58.11](https://global.discourse-cdn.com/meta/original/4X/7/5/d/75d8897fc97169a9f451dd90d3cc70f27ed58881.png)

结果行为相同：

 ![Screenshot 2023-06-23 at 20.58.00](https://global.discourse-cdn.com/meta/original/4X/2/f/1/2f166f5dcf8ea1973ecd82d7082a15a9da0f8c06.png)

---

<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:** [2023年六月23日 20:01 UTC](https://meta.discourse.org/t/twitter-links-are-no-longer-oneboxing/269371/13 "2023-06-23T20:01:05Z")

</div>

哦，等等，抱歉，看起来它确实有效，只是在编辑器中无效：

 ![Screenshot 2023-06-23 at 21.00.43](https://global.discourse-cdn.com/meta/original/4X/0/5/1/051d3ad73d35833345ff36e4fd81e8647ca4d1d4.jpeg)

😱

---

<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:** [2023年六月23日 20:03 UTC](https://meta.discourse.org/t/twitter-links-are-no-longer-oneboxing/269371/14 "2023-06-23T20:03:39Z")

</div>

> [@pmusaraj](#):
>
> 这里还有一个替代选项，可以加载原生的 Twitter embed，请参阅[这个主题组件](https://meta.discourse.org/t/twitter-native-embed/261792)。

经过一些快速测试，这个组件似乎效果很好，即使是嵌入式视频：

> <https://twitter.com/MotoGP/status/1672173032930983936>

谢谢 @pmusaraj 😃

---

<div class="post-metadata">

**Author:** ![Jongin](https://avatars.discourse-cdn.com/v4/letter/j/4af34b/32.png) [@Jongin](https://meta.discourse.org/u/Jongin)\
**Post date:** [2023年六月25日 00:00 UTC](https://meta.discourse.org/t/twitter-links-are-no-longer-oneboxing/269371/15 "2023-06-25T00:00:56Z")

</div>

您使用的是免费版本还是付费版本？

---

<div class="post-metadata">

**Author:** ![Lilly](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/lilly/32/575047_2.png) [@Lilly](https://meta.discourse.org/u/Lilly)\
**Post date:** [2023年六月25日 00:11 UTC](https://meta.discourse.org/t/twitter-links-are-no-longer-oneboxing/269371/16 "2023-06-25T00:11:10Z")

</div>

我们由 Discourse / CDCK 托管，并正在使用最新的测试版。

---

<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年六月30日 15:12 UTC](https://meta.discourse.org/t/twitter-links-are-no-longer-oneboxing/269371/17 "2023-06-30T15:12:24Z")

</div>

9个帖子被拆分到一个新主题：[现在需要登录后才能显示Twitter onebox和链接](https://meta.discourse.org/t/twitter-oneboxes-and-links-broken-now-that-login-is-required/270165)

---

<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年六月30日 15:12 UTC](https://meta.discourse.org/t/twitter-links-are-no-longer-oneboxing/269371/18 "2023-06-30T15:12:43Z")

</div>

更多讨论请参见 [Twitter oneboxes and links broken now that login is required](https://meta.discourse.org/t/twitter-oneboxes-and-links-broken-now-that-login-is-required/270165?u=david)
