You need to enable JavaScript to run this app. Laravel 8.x对接Vimeo实现表单上传时 响应缺失upload.form字段问题求助
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 8.x对接Vimeo实现表单上传时 响应缺失upload.form字段问题求助

Vimeo上传接口缺失upload.form字段排查方案

关键排查方向

  • 修正参数拼写错误:代码中将Vimeo规范要求的approach参数错写为approch,缺失末尾的字母a。Vimeo API对入参为严格匹配逻辑,拼写错误时系统无法识别POST表单上传的意图,会默认返回TUS协议分片上传的配套字段,不会生成用于直传的upload.form内容。
  • 调整调试解析逻辑:Laravel HTTP客户端返回的是封装后的响应类实例,直接对响应对象执行dd()时,展示的是响应类的内部属性结构,并非接口原始返回的JSON数据。需要调用响应的json()方法解码拿到实际返回结构,再定位upload节点下的子字段,避免因调试方式偏差误判字段缺失。
  • 校验OAuth授权范围:使用Vimeo基础账号对接时,需确认应用的授权配置已勾选upload类写权限。若授权范围缺失,哪怕接口返回201成功状态码,也会隐藏表单上传相关的返回字段,仅返回视频基础元数据。

修正后可运行的代码片段

$response = Http::withToken('你的Vimeo访问令牌')
    ->withHeaders([
        'Content-Type' => 'application/json',
        'Accept' => 'application/vnd.vimeo.*+json;version=3.4'
    ])
    ->post('https://api.vimeo.com/me/videos', [
        'upload' => [
            'size' => $request->file->getSize(),
            'approach' => 'post', // 修正拼写错误
        ]
    ]);

// 正确调试写法,直接查看upload节点的实际返回
dd($response->json('upload'));

结果验证

完成上述调整后,接口返回的upload节点下会正常包含form字段,内容为Vimeo生成的可直接嵌入页面的上传表单结构,包含表单提交目标地址、隐藏域参数、文件上传域的名称配置等,可直接对接前端表单完成视频直传流程。

内容的提问来源于stack exchange,提问作者Paulin Kouame

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.11 05:45:04