使用 vimeo API-3.4 上传时,我想要视频的缩略图

I wanted a Thumbnail for my video when uploading using vimeo API-3.4

我正在使用 API 文档中给出的步骤创建缩略图。当我的视频成功上传时,我调用了 createthumbnail 函数,我收到了成功响应,但图像是默认图像,而不是来自我上传的视频。下面是我的代码片段

export const createVideoThumbnails = (videoId, videoToModuleParams) => async (
  dispatch
) => {
 
  const body = JSON.stringify({
    time: 3,
    active: true,
  });
  const config = {
    headers: {
      Authorization: 'bearer thisismyauthtoken',
      'Content-Type': 'application/json',
      Accept: 'application/vnd.vimeo.*+json;version=3.4',
    },
  };

  try {
    const response = await axios.post(
      `https://api.vimeo.com/videos/${videoId}/pictures`,
      body,
      config
    );
    if (response.status === 201) {
      console.log(response.data)
    }
  } catch (error) {
    console.log(error);
  }
};

我也尝试使用视频 ID 获取图像,但如果我立即获取,它会生成默认图像,但如果我在 30-50 秒后获取,它会给我正确的缩略图。问题是我应该等待多少时间,因为如果上传视频很长,可能会花费很多时间。是他们的任何回调还是其他方法。

我正在使用 REACT 和 REDUX。请帮助

Vimeo 的 API 文档没有提及生成缩略图需要多长时间。您可以自己上传自定义缩略图来规避此限制。

201 响应表示“请求已完成并导致创建新资源”。不能保证它会立即或很快可用,您必须围绕它设计您的应用程序。

如果您在上传完成后立即发出该请求,则缩略图可能尚未创建,因此不会在 API 响应中返回。您需要定期检查转码状态(请求获取视频的元数据),一旦 API returns transcode.status=准备就绪,缩略图也应该准备就绪。

https://vimeo.zendesk.com/hc/en-us/articles/360042877971-Getting-video-transcode-status-from-the-API

https://developer.vimeo.com/api/reference/videos#get_video