有 Discourse 社区的朋友知道,要通过 onebox 支持嵌入 TikTok 视频需要哪些条件吗?随着人们寻找在危机期间稍作喘息的方式,这一需求持续增长。
尝试将 www.tiktok.com 添加到 onebox 参数的白名单中
谢谢。我想我指的是嵌入类似 YouTube 的视频。那是否意味着 TikTok 需要做出调整?
是的,要么他们做出改变,要么我们编写一个自定义的 TikTok 插件。
插件这条路是有先例的,我知道 Twitter 的扩展功能就做得很好。
他们的嵌入内容有点臃肿。
所以,也许我们可以采用类似 Instagram 的方法,自己构建一套方案?
仅包含媒体(我们可以添加少量元数据):
嵌入代码:
看起来只是媒体加一些元数据。这个嵌入在播放后不停闪烁,而且非常嘈杂。
哦,看来我们无法自行处理。TikTok 和 Instagram 一样,使用短期有效的 URL,因此如果我们直接嵌入媒体,帖子在不到一天内就会失效(请查看我上面的帖子)。
在 Instagram 上,这导致我们放弃了嵌入视频的尝试,转而采用一种精美的链接形式。由于 TikTok 完全是视频内容,如果我们无法像 YouTube、Vimeo 等那样提供可正常播放的播放器,我不确定这样做是否值得投入精力。
不确定他们会不会封锁你,但用 curl 访问 https://www.tiktok.com/embed/v2/VIDEO_ID?lang=en-US 后,我获取到的 HTML 中包含了正确的视频 URL。你只需要解析出来,然后发送给前端进行展示即可。看起来相当简单。
问题在于此链接会过期。
是的,但即使每次页面重新加载后,你仍然可以再次获取它(因此这不是一个简单的嵌入,而是一个真正的自定义“小部件”)
创建话题页面时是否在等待 TikTok 服务器响应?
此时,使用他们的官方 oEmbed 配合 iframe 更为合理。
为什么要阻止?让它像他们的嵌入功能一样工作,但去掉那些不必要的多余内容。反正无论如何都需要发起多次请求,我估计这种方式会比官方加载完整 React 应用的方法更快。
我很乐意为此创建一个概念验证插件 ;p
请动手制作并与社区分享!
TikTok 支持 oEmbed:
我们无法创建自定义嵌入,因为 TikTok 对其媒体使用会过期的 URL。
我们唯一的选择是使用他们的嵌入功能,但
目前可选的方案有:
-
我们妥协,将他们的嵌入功能直接集成到核心中
-
由一位足够关注 TikTok 的人开发或赞助一个插件,以添加对 TikTok 嵌入的支持。
这两种方案在技术上都很简单,因为我们只需使用他们的 iframe 即可。
由于该结果仅影响发布了 TikTok 链接的社区,我更倾向于通过 iFrame 将其集成到核心功能中,而不是沿用当前完全失效的方式。
@sam 是否可以考虑仅在管理员将 TikTok 域名添加到其 iframe 站点设置时,才执行 iframe 嵌入?

