oEmbed规范要求站点链接到其oEmbed端点,并在该链接中对当前的URL进行编码。对于静态/CDN服务的网站来说,这是非常恼人的,因为它们现在必须将请求URL编码/返回到HTML响应中。
我想知道是否知道主要的oEmbed用户(如Slack、Facebook或oEmbed客户端库)在请求时是否会自己添加这个URL,以便在实践中打破规范并静态地这样做是合理的。任何静态实现的例子都可能是有洞察力的。
动态:Link: <http://flickr.com/services/oembed?url=http%3A%2F%2Fflickr.com%2Fphotos%2Fbees%2F2362225867%2F&format=json>; rel="alternate"; type="application/json+oembed"; title="Bacon Lollys oEmbed Profile"
静态:Link: <http://flickr.com/services/oembed?format=json>; rel="alternate"; type="application/json+oembed"; title="Bacon Lollys oEmbed Profile"
发布于 2022-05-10 16:37:41
我使用html标记替代实现了发现(相对于Link )。
我们的前端服务是通过让NGINX容器提供静态构建文件来部署的。我希望将oEmbed发现添加到所有响应中,因此我使用ndk_http_module和ngx_http_set_misc_module创建了一个转义URI变量,然后将其作为html元素末尾的标记注入。我在Slack和Team这样的平台上玩了几天之后,我的经验是,包含URL查询参数和格式到目前为止还没有冲突。
我们的前端服务是通过让NGINX容器提供静态构建文件来部署的。我希望将oEmbed发现添加到所有响应中,因此我使用ndk_http_module和ngx_http_set_misc_module创建了一个转义URI变量,然后将其作为html元素末尾的标记注入,如下所示:
server {
listen 80;
set_escape_uri $escaped_uri $http_host$request_uri;
sub_filter '</head>' '<link rel=\"alternate\" type=\"application/json+oembed\" href=\"${OEMBED_URL}?format=json&url=https%3A%2F%2F$escaped_uri\" title=\"Bacon Lollys oEmbed Profile\"></head>';
...
}https://stackoverflow.com/questions/66071482
复制相似问题