如何从节点@vimeo/vimeo lib 获取视频详细信息?

问题描述 投票:0回答:1

我正在尝试获取有关我的库中视频的详细信息,特别是缩略图和时长,但我收到错误响应。

我正在使用 Next.JS,我在服务器上运行的 getStaticProps 中提出请求。

我的要求是这样的:

import { Vimeo } from '@vimeo/vimeo';

export async function getStaticProps() {
  let client = new Vimeo(`${clientId}`, `${clientSecret}`, `${accessToken}`);
  client.request(
    {
      method: 'GET',
      path: `/videos/796808098`,
    },
    function (error, body, status_code, headers) {
      if (error) {
        console.log(error);
      }

      console.log(body);
    }
  );

  return {
    props: {},
  };
}

我得到的错误响应是:

{"error":"The requested video couldn't be found."}

我也尝试过使用 fetch 作为节点包的替代品,它返回了完全相同的错误。这是代码:

fetch('https://api.vimeo.com/videos/796808098', {
    headers: {
      Authorization: `bearer ${accessToken}`,
      'content-type': 'application/json',
    },
  })
    .then(res => {
      const json = res.json();
      return json;
    })
    .then(json => {
      return json
    });

那个视频肯定存在于我的库中,但我想知道我的应用程序是否无法访问我库中的所有视频?我的另一个想法是找不到视频,因为它嵌套在一个文件夹中,但即使将文件夹名称添加到视频 ID 也无济于事。

请注意,当我按照 Vimeo 设置文档进行操作时,我能够向 /tutorial 发出请求,并且响应已验证我的客户端 ID、访问令牌和客户端密码都正常运行。

感谢任何帮助!

node.js next.js vimeo web-frontend vimeo-api
1个回答
0
投票

想通了!

我创建的访问令牌没有读取视频数据的权限。解决方案是进入我的应用程序,滚动到访问令牌部分,生成一个新令牌,选中“私人”复选框,然后选中“视频”复选框。

© www.soinside.com 2019 - 2024. All rights reserved.