支持 onebox 的 TikTok 链接

有 Discourse 社区的朋友知道,要通过 onebox 支持嵌入 TikTok 视频需要哪些条件吗?随着人们寻找在危机期间稍作喘息的方式,这一需求持续增长。

3 个赞

尝试将 www.tiktok.com 添加到 onebox 参数的白名单中

3 个赞

无需添加到白名单——该设置仅适用于“内联单框”。您只需将 TikTok 内容单独粘贴在一行,即可实现单框显示。遗憾的是,它们未提供 og:video 值,因此目前仅显示链接、缩略图和描述。

8 个赞

我的 Discourse 上的结果:

2 个赞

谢谢。我想我指的是嵌入类似 YouTube 的视频。那是否意味着 TikTok 需要做出调整?

是的,要么他们做出改变,要么我们编写一个自定义的 TikTok 插件。

插件这条路是有先例的,我知道 Twitter 的扩展功能就做得很好。

3 个赞

他们的嵌入内容有点臃肿。

所以,也许我们可以采用类似 Instagram 的方法,自己构建一套方案?

仅包含媒体(我们可以添加少量元数据):

嵌入代码:

8 个赞

看起来只是媒体加一些元数据。这个嵌入在播放后不停闪烁,而且非常嘈杂。

12 个赞

哦,看来我们无法自行处理。TikTok 和 Instagram 一样,使用短期有效的 URL,因此如果我们直接嵌入媒体,帖子在不到一天内就会失效(请查看我上面的帖子)。

在 Instagram 上,这导致我们放弃了嵌入视频的尝试,转而采用一种精美的链接形式。由于 TikTok 完全是视频内容,如果我们无法像 YouTube、Vimeo 等那样提供可正常播放的播放器,我不确定这样做是否值得投入精力。

9 个赞

不确定他们会不会封锁你,但用 curl 访问 https://www.tiktok.com/embed/v2/VIDEO_ID?lang=en-US 后,我获取到的 HTML 中包含了正确的视频 URL。你只需要解析出来,然后发送给前端进行展示即可。看起来相当简单。

1 个赞

问题在于此链接会过期。

是的,但即使每次页面重新加载后,你仍然可以再次获取它(因此这不是一个简单的嵌入,而是一个真正的自定义“小部件”)

创建话题页面时是否在等待 TikTok 服务器响应?

此时,使用他们的官方 oEmbed 配合 iframe 更为合理。

为什么要阻止?让它像他们的嵌入功能一样工作,但去掉那些不必要的多余内容。反正无论如何都需要发起多次请求,我估计这种方式会比官方加载完整 React 应用的方法更快。

我很乐意为此创建一个概念验证插件 ;p

请动手制作并与社区分享!

5 个赞

TikTok 支持 oEmbed:

https://developers.tiktok.com/doc/Embed

2 个赞

这仍然无法使用吗?请见上文。

1 个赞

我们无法创建自定义嵌入,因为 TikTok 对其媒体使用会过期的 URL。

我们唯一的选择是使用他们的嵌入功能,但

目前可选的方案有:

  • 我们妥协,将他们的嵌入功能直接集成到核心中

  • 由一位足够关注 TikTok 的人开发或赞助一个插件,以添加对 TikTok 嵌入的支持。

这两种方案在技术上都很简单,因为我们只需使用他们的 iframe 即可。

5 个赞

由于该结果仅影响发布了 TikTok 链接的社区,我更倾向于通过 iFrame 将其集成到核心功能中,而不是沿用当前完全失效的方式。

1 个赞

@sam 是否可以考虑仅在管理员将 TikTok 域名添加到其 iframe 站点设置时,才执行 iframe 嵌入?

1 个赞