能否通过Vercel REST API启用预览部署的可共享链接?
解决Vercel预览部署的共享访问问题
1. 生成临时可共享预览链接(推荐)
Vercel提供了专门的API端点生成部署的临时共享链接,无需修改全局保护规则:
- 调用
POST /v1/deployments/{deploymentId}/share端点,可指定链接有效期(可选,默认7天)。 - cURL请求示例:
curl -X POST "https://api.vercel.com/v1/deployments/DEPLOYMENT_ID/share" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "expires": 86400 # 有效期单位为秒,这里设置1天 }'
- 响应会返回一个
url字段,这就是可以直接给用户访问的无保护预览链接,绕过账户部署限制。
2. 取消部署的密码保护(永久公开)
如果需要让该预览部署长期公开访问,可通过PATCH /v1/deployments/{deploymentId}更新部署配置:
- 请求体中设置
protection.password为null,移除密码保护:
curl -X PATCH "https://api.vercel.com/v1/deployments/DEPLOYMENT_ID" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "protection": { "password": null } }'
- 注意:此操作会让部署完全公开,任何知道链接的人都能访问,适合无需长期保护的场景。
3. 新建部署时直接禁用保护
如果你希望所有通过应用创建的预览部署默认无保护,可以在创建部署时就指定配置:
- 调用
POST /v1/deployments时,在请求体中加入protection参数:
curl -X POST "https://api.vercel.com/v1/deployments" \ -H "Authorization: Bearer YOUR_API_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "name": "user-site-preview", "files": [...], # 你的网站文件内容 "protection": { "password": null } }'
补充
这些都是Vercel REST API的正式功能,其中/share端点是专门用于生成共享预览链接的,可能你之前查阅文档时没留意到。生成的共享链接会自动绕过账户的部署保护,用户无需登录即可访问预览页面。
内容的提问来源于stack exchange,提问作者Ritvij Sharma
相关产品推荐
相关产品推荐

