Iframely API 用于响应式网页嵌入和 URL 元数据
这是 Iframely API 和 HTML 解析器的自托管版本。
Iframely 接收您的 URL 并返回其元数据。如果 URL 支持,我们还会添加富媒体嵌入的 HTML。包括图层、帖子、幻灯片、调查、信息图、地图等。
此软件包包含了大多数流行发布商的特定域名解析器。YouTube、Facebook、Instagram、Twitter、SoundCloud、Google Maps、TED、Twitch 等等。请查看 /plugins/domains
文件夹。此外,我们通过通用发布协议支持许多域名:oEmbed、Open Graph、Twitter Cards 和微格式。对于其他 URL,您将获得来自这些协议的元数据和缩略图。您可以用它来创建自己的 URL 预览。
Iframely 的白名单文件从我们的中央数据库获取。默认情况下,更改会自动同步到您的实例。但您可以用自己的白名单文件替换它。中央白名单应该覆盖了超过 1500 个域名。
版本 2.0.0 的重大变更
从版本 2.0.0 开始,Iframely 所需的最低 Node 版本为 Node 14。请查看早期版本的迁移步骤。
API 端点
要使用数据,您需要通过 HTTP 连接到 API。有两个可用的端点。一个是 oEmbed 格式,另一个是 Iframely API 格式。oEmbed 端点只是从 Iframely 到 oEmbed 规范的适配器。
Iframely 格式模仿页面的 <head>
部分。它有用于数据的 meta
字段和用于媒体的 links
数组。
两个端点都接受 &url=
输入并提供 JSON 响应。以下是我们的云 API 的一些开放响应示例,以便您了解格式:
您可以将 Iframely 用作 Node.js 库。这就是我们在云端使用它的方式。但是,关于它的文档不足。
与云 API 相比未包含的内容
托管的云 API 可以选择在 html
字段中返回 Iframely.com 提供的 iFrame 渲染。iFrame 提供所有托管的小部件,如 URL 预览卡片、GIF 支持、播放器事件、AMP 等。我们的每个 URL 自定义、基于 JavaScript 的嵌入预测大小机制以最小化布局偏移、延迟加载、基于类型的媒体白名单以及其他配置仅在云端可用。
这个开源版本仅提供网页解析器。Iframely 云按原样在生产环境中使用这些解析器的数据。尽管云版本和自托管版本之间的 API 端点格式应该匹配,但可能存在微小差异。
最后,自托管版本中未包含一些域名插件。我们似乎已停止向开源版本添加新的发布商。看起来我们后来的许多提供商需要更快的更新和修复周转时间。您也可以使用私有插件扩展自托管版本。
开始使用:
要开始使用 API:
- 您的 API 端点将位于
{your.server}/iframely?url=
和{your.server}/oembed?url=
- 如何安装和配置您的 Iframely 主机。
- Iframely 格式的 API
- oEmbed 格式的 API
- Iframely 格式中的链接关系、类型和媒体查询(播放器、缩略图、应用、阅读器、调查、幻灯片等)
- Iframely API 为您抓取的元数据语义。
- 包中包含的可视化调试工具位于
{your.server}/debug
贡献
我们尽最大努力维护 Iframely 及其所有域名解析器。如果您有任何建议,请随时在 Twitter 上联系我们或提交问题。我们的支持电子邮箱是 support@iframely.com
如果您想添加更多插件和/或贡献修复或改进,请 fork 并提交拉取请求。这样做,您的工作将在相同的 MIT 许可下可用。
请将您的拉取请求提交到 develop
分支。在我们将其发布到 master
之前,所有内容都会合并到这里。
许可证和作者
MIT 许可证。(c) 2012-2022 Itteco Software Corp. Nazar Leush、Ivan Paramonau 和贡献者。