导入
列出类别并获取类别详情
学习如何使用 Vimeo API 列出分类并提取这些分类的详细信息。
...
| 参数名称 | 类型 | 选项 | 描述 |
|---|---|---|---|
| direction | 字符串 | 可选 | 此参数定义响应的排序顺序。可选值为 asc(升序)和 desc(降序)。 |
| page | 整数 | 可选 | 此参数定义在响应中显示的页码。 |
| per_page | 整数 | 可选 | 此参数定义每页显示的记录数量。每页最多显示 100 条记录。 |
1// 在此处导入库 2const fetch = require('node-fetch'); 3 4// 在此处定义 API 密钥 5const API_KEY = 'Bearer {{AUTH_CODE}}'; 6 7// 在此处定义端点 URL 8const endpointUrl = 'https://api.vimeo.com/categories'; 9 10// 在此处定义请求头参数 11const headerParameters = { 12 authorization: API_KEY, 13 'Content-Type': 'application/json', 14}; 15 16// 在此处定义查询参数 17const queryParameters = new URLSearchParams({ 18 direction: 'asc', 19 page: '2', 20 per_page: '5', 21}); 22 23// 设置 API 调用选项 24const options = { 25 method: 'get', 26 headers: headerParameters, 27}; 28 29// 定义发起 API 请求的函数 30async function fetchCategories() { 31 try { 32 const response = await fetch(`${endpointUrl}`, options); 33 // const response = await fetch(`${endpointUrl}?${queryParameters.toString()}`, options); 34 35 // 输出响应内容 36 printResponse(response); 37 } catch (error) { 38 // 输出错误信息 39 printError(error); 40 } 41} 42 43// 调用函数发起 API 请求 44fetchCategories(); 45 46// 成功响应的打印函数 47function printResponse(response) { 48 response.json().then((content) => { 49 // 输出格式化的 JSON 响应 50 formattedJson = JSON.stringify(content, null, 4); 51 console.log(formattedJson); 52 }).catch((err) => { 53 // 在此处输出自定义错误信息 54 console.log(`错误: ${err}`); 55 }); 56} 57 58// 错误响应的打印函数 59function printError(err) { 60 // 在此处输出自定义错误信息 61 console.log(`错误: ${err}`); 62}
| 响应字段 | 描述 |
|---|---|
| total | 所有项目/分类的总数。其值为 10,因为 Vimeo 共有 10 个分类。 |
| page | 表示响应中返回的当前页码。 |
| per_page | 表示每页显示的记录/分类数量。 |
| data | 包含所有与分类相关字段的数组。 |
| uri | 用于访问该分类的唯一标识符。不包含基础 URL。 |
| name | 表示分类的名称。 |
| link | 分类的完整 URL。可复制粘贴到浏览器地址栏中访问该分类。 |
| last_video_featured_time | 表示最近一次视频被推荐的时间,以 ISO 8601 格式表示。 |
| metadata | 包含与该分类相关的元数据的对象。 |
| subcategories | 包含主分类下所有可用子分类的数组。 |
1// 在此处定义 API 密钥 2const API_KEY = 'Bearer {{AUTH_CODE}}'; 3 4// 在此处定义路径参数 5const categoryName = 'adsandcommercials'; 6 7// 在此处定义端点 URL 8const endpointUrl = `https://api.vimeo.com/categories/${categoryName}`; 9 10// 在此处定义请求头参数 11const headerParameters = { 12 authorization: API_KEY, 13 'Content-Type': 'application/json', 14}; 15 16// 设置 API 调用选项 17const options = { 18 method: 'get', 19 headers: headerParameters, 20}; 21 22// 定义发起 API 请求的函数 23async function fetchSingleCategory() { 24 try { 25 const response = await fetch(`${endpointUrl}`, options); 26 27 // 输出响应内容 28 printResponse(response); 29 } catch (error) { 30 // 输出错误信息 31 printError(error); 32 } 33} 34 35// 调用函数发起 API 请求 36fetchSingleCategory();
| 字段名称 | 描述 |
|---|---|
| metadata.connections | 该对象包含与该分类关联的信息。 |
| metadata.connections.channels | 该对象提供有关该分类中频道的信息。包括:uri:获取该分类下频道的 URL;options:可在此 URL 上执行的 HTTP 方法数组;total:频道总数。 |
| metadata.connections.groups | 该对象包含与该分类中群组相关的信息,同样包含 uri、options 和 total 字段。 |
| metadata.connections.users | 该对象包含与该分类中用户相关的信息。 |
| metadata.connections.videos | 该对象定义了与该分类相关的视频的 URI、允许的方法以及视频总数。 |
| metadata.interactions | 该对象显示与该分类相关的允许操作。 |
| metadata.interactions.follow | 该对象显示当前认证用户是否关注了该分类。 |
| metadata.interactions.follow.added | 布尔类型字段,表示用户是否已关注该分类。若已关注,值为 true,否则为 false。 |
| metadata.interactions.follow.added_time | 字符串类型字段,表示用户执行关注操作的时间,采用 ISO 8601 格式。 |
| metadata.interactions.follow.uri | 该链接可用于用户关注或取消关注该分类。用户可通过向此 URI 发送 PUT 请求来关注,发送 DELETE 请求来取消关注。 |