简体中文

视频和字幕 · YouTube 缩略图下载器和元数据查看器

oEmbed 标准:2008 规范如何使链接嵌入在任何地方都可以工作

· 背景

youtube 嵌入 网络标准

oEmbed 请求 URL 流入规范化元数据对象
原始 ToolAcre 矢量图

oEmbed 是粘贴链接和获取播放器背后的安静标准。这篇文章介绍了它的起源、请求和响应契约、站点如何发现端点以及为什么它仍然是公共视频元数据的最简单来源。

粘贴链接,获取播放器 — oEmbed 实现的日常魔法成为可能

粘贴受支持的 YouTube 链接,ToolAcre 将返回紧凑的公共记录,而无需解析观看页面。浏览器提取并验证视频 ID,然后构造一个显式 oEmbed 请求。开发人员可以重现该目标并将上游 JSON 与显示的字段进行比较;资源及其元数据之间没有脆弱的页面选择器。

结果是当前的、已注销的快照,而不是完整的视频记录。它标识通过 oEmbed 公开的公共标题、作者和缩略图参考。此边界澄清了错误:格式错误的输入在本地失败,传输或 HTTP 可能在远程失败,而省略的规范化字段则两者都不会失败。每种情况都有不同的补救措施。

存储库证明了当前的请求合约,而不是不受支持的 2008 起源故事

端点为 `https://www.youtube.com/oembed`。 ToolAcre 添加了一个 `url` 参数,其中包含 `https://www.youtube.com/watch?v=VIDEO_ID` 和 `format=json`。两者都被编码为查询数据。开始时间、播放列表上下文和复制的跟踪参数不包含在元数据请求中,因此只有经过验证的视频资源才能确定查找。

`youtu.be` 共享链接、标准监视链接和支持的嵌入链接可以产生相同的 ID,从而产生相同的 oEmbed 请求。这种规范化可以防止输入格式意外更改结果。它还创建一个稳定的测试断言:一个 ID 必须始终生成已知端点、规范的监视 URL 和 JSON 格式。

合同 — 输入 URL,输出键入的响应,包含标题、作者、嵌入 HTML 和缩略图字段

成功响应后,ToolAcre 将 JSON 解析为自己的记录:`videoId`、标题、作者姓名为 `channel`、频道 URL、缩略图 URL 和维度、播放器维度、提供商详细信息和显式遗漏。重命名上游作者密钥可提供 JSON、Markdown、CSV 和文本导出一致的面向 YouTube 的词汇,而不是暴露意外的有线格式。

缺失字段列表显示未获取持续时间、观看次数、喜欢、描述、标签、上传日期和标题。它并不声称 YouTube 上的这些值是空的。这种区别在 CSV 和文本中很重要,否则缺少的功能类似于真正的空白属性。数字维度和可选字符串仅保留为可用的标准化值。

端点发现和注册表不在此实现范围内

ToolAcre 不会从页面 `<link>` 发现端点或咨询提供商注册表。 YouTube 目标是源常量。一个解析器、一种标识符形状和一个请求构建器涵盖了规定的范围,而无需获取任意页面或跟踪由不受信任的 HTML 通告的端点信息。

发现需要解析远程标记、验证通告的 URL 并决定哪些主机可以接收后续请求。固定端点避免了额外的表面并使网络审查变得简单。如果 YouTube 更改服务,则集成需要显式更改代码,而不是默默地遵循未收到相同审核的目标。

跨平台采用声明不在经过验证的证据范围内

规范化记录有利于检查和重用。 JSON 保留键值结构,Markdown 创建可读注释,CSV 适合库存,纯文本适合票据或研究日志。导出本地模型而不是原始 oEmbed 可以保持跨格式的名称和省略保持一致,因此下游用户不会收到四种略有不同的解释。

oEmbed 可能返回 HTML iframe 片段,但 ToolAcre 既不注入也不导出它。该应用程序使用 YouTube 的隐私增强型主机根据经过验证的 ID 构建自己的响应式播放器。将元数据与渲染分离可以避免信任提供者标记,并使播放器目标成为可审核的产品选择,而不是不透明的上游字符串。

假设 oEmbed 提供标题、`author_name`、`author_url`、480-by-360 缩略图、播放器尺寸和提供商详细信息。 ToolAcre 添加经过验证的 ID、将作者字段映射到渠道字段、保留可用维度并记录不支持的属性。即使上游添加接口不消耗的密钥,这种确定性投影也可以保持稳定。

DNS 故障、拦截器或离线模式是传输问题。不成功状态是 HTTP 问题;具有格式错误的 JSON 的成功状态是一个解析问题。任何人都不应创建部分发明的记录。缩略图探针保持独立,因此元数据可能会成功,而一张图像会失败,或者 JPEG 可能会在 oEmbed 不可用时进行解码。

这不包括什么 - Open Graph 和 schema.org,链接预览的其他元数据层

oEmbed 不会取代 Open Graph、schema.org JSON-LD、YouTube 数据 API 或预览缓存。这些机制具有不同的字段、身份验证和新鲜度。 ToolAcre 从不获取监视文档来比较它们。持续时间、发布时间、统计数据或标题需要授权来源,而不是根据缩略图名称或玩家尺寸进行猜测。

有效的 ID 仍然可以标识私有、已删除、受限或不存在的资源。已注销的 oEmbed 无法将其公开。标题、频道名称和缩略图引用也可能在同一 ID 下发生更改,因此出处需要访问日期。一次导出记录一次查找;它既不保证永久性,也不授予重新发布返回材料的许可。

要点:实施的请求和规范化的响应合约

解析和验证在 Fetch 之前都是本地的。然后,浏览器会联系 `www.youtube.com`(用于 oEmbed)和 `i.ytimg.com`(用于图像),省略凭据和引荐来源网址,请求 `no-store` 并执行重定向。 Google 仍然可以看到每个请求及其 Origin 标头。没有 ToolAcre 代理隐藏目标或绕过注销访问限制。

合同是精确的:将支持的输入规范化为一个 ID,构建规范查询,要求成功 JSON,保留记录的字段子集并标记遗漏。保存输入、传输、HTTP、解析或访问过程中是否发生故障。该证据使导出变得有用,而无需假装紧凑的 oEmbed 响应是完整的 YouTube API。