我正在尝试获取有关我的库中视频的详细信息,特别是缩略图和时长,但我收到错误响应。
我正在使用 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、访问令牌和客户端密码都正常运行。
感谢任何帮助!
想通了!
我创建的访问令牌没有读取视频数据的权限。解决方案是进入我的应用程序,滚动到访问令牌部分,生成一个新令牌,选中“私人”复选框,然后选中“视频”复选框。