如何从自定义Vimeo视频URL获取视频ID?其命名规范是否有官方文档?
解决Vimeo自定义Slug URL的ID提取与规范问题
官方规范与可靠处理方式
Vimeo开发者文档明确说明,**自定义视频别名(slug)**是官方允许的URL格式,这类路径通常为https://vimeo.com/{用户名/团队名}/{自定义slug},用于替代纯数字ID链接,方便分享与记忆。
但不推荐用正则表达式提取视频标识——Vimeo的URL格式存在多种变体(如播放器嵌入链接、带权限哈希的链接、团队账号下的多级路径等),正则很难覆盖所有合法场景,且官方可能调整URL结构,依赖正则易出现适配问题。
推荐方案:使用Vimeo官方API
解析这类URL最可靠的方式是调用Vimeo官方API:
- 使用
GET /videos/{url}端点,直接传入完整视频URL(比如https://vimeo.com/moonstreetpictures/headabovewater) - API会返回包含视频数字ID、权限信息、视频详情的完整响应,无需自行处理格式匹配
这种方式由官方维护,能兼容所有合法的Vimeo视频URL格式,包括受保护的视频链接。
临时正则方案(仅作应急)
如果暂时无法使用API,可调整正则匹配自定义slug,但需注意这仅覆盖部分场景:
const regex = /(https?:\/\/)?(www\.)?(player\.)?vimeo\.com\/(?:[a-z0-9-]+\/)?([a-z0-9-]+)(?:\?.*)?/i; if (regex.test(url)) { const match = regex.exec(url); // match[4]可能是数字ID或自定义slug return match[4]; }
再次强调:这种方式无法保证兼容未来的URL格式变化,也无法区分slug与数字ID,仅适合临时应急使用。
内容的提问来源于stack exchange,提问作者Toniq
相关产品推荐
相关产品推荐

