vimeo nodejs API是否支持使用“拉”方法上传

问题描述

我正在尝试使用pull方法上传vimeo api,但是vimeo UI会永远显示电影的“上传”,并且我在发布请求中包含的任何元数据也都无法上传到vimeo。

我的请求看起来像这样(我已经编辑了一些)。 signatureURL有效,有效期为1天。

{
  path: '/users/xxxxx/videos',query: {
    upload: {
      approach: 'pull',size: 27759876,link: 'https://storage.googleapis.com/xxxxxx/xxxxxxx%2F0079e513eb90623236b9fce0ebdc5a29%2Ffilm%2F0079e513eb90623236b9fce0ebdc5a29.m4v?GoogleAccessId=xxxxxxxxxxxxxxxxxxxx&Expires=1599054191&Signature=jLEDJ8iNaRC4edn37DHoCilhKMmDk04h17Vu%2FbDUJbNFxdbjR9CowMQWdn95MdrX....etc'
    },name: 'xxxx',description: 'xxxxxxx',privacy: {
      download: true,embed: 'private',comments: 'nobody',view: 'anybody'
    }
  },method: 'post'
}

从vimeo返回的响应似乎是有效的-具有大量的vimeo元数据和上传的电影的vimeo ID。

在github上查看nodejs api时,我仅看到tus上传方法示例-现在,我想知道客户端是否真的支持pull方法。有人能使它正常工作吗?

解决方法

您将要使用params属性而不是query;使用params会将您的元数据放入请求正文中,而不是将其作为查询参数提供。

params在文档中是upload方法的一部分,但在进行POST或PATCH时应与request方法一起使用。

我认为您的示例请求很好,只需将params换成query

https://github.com/vimeo/vimeo.js#uploading-videos https://github.com/vimeo/vimeo.js/blob/c7a1a16c1805539a00bc37d661b81c10e2108a75/example/upload.js#L63