导入
获取视频
学习如何获取关于Twitch视频的信息。
...
视频端点概览
代码示例
1https://api.twitch.tv/helix/videos
| 参数 | 类型 | 分类 | 描述 |
|---|---|---|---|
| id | 字符串 | 必填 | 视频的 ID。如果提供此参数,端点无需其他参数(包括 user_id 和 game_id)。最多可提供 100 个视频 ID。 |
| user_id | 字符串 | 必填 | 要获取其视频的用户的 ID。只能提供一个用户 ID。 |
| game_id | 字符串 | 必填 | 要获取其视频的游戏的 ID。只能提供一个游戏 ID。 |
| after | 字符串 | 可选 | 用于向前分页的游标值。该端点返回多页结果时,每页都会包含一个游标值。可将此值作为 after 参数传入,以获取游标指定页面之后的结果页。仅在使用 user_id 或 game_id 时可用,不能与 id 一起使用。 |
| before | 字符串 | 可选 | 用于向后分页的游标值。该端点返回多页结果时,每页都会包含一个游标值。可将此值作为 before 参数传入,以获取游标指定页面之前的结果页。仅在使用 user_id 或 game_id 时可用,不能与 id 一起使用。 |
| first | 整数 | 可选 | 每页返回的结果数量,最大为 100 条。默认值为 20。 |
| language | 字符串 | 可选 | 视频语言的 ISO-639-1 两字母代码。 |
| period | 字符串 | 可选 | 视频创建的时间范围。可接受的值为 "all"、"day"、"week" 和 "month"。默认值为 "all"。 |
| sort | 字符串 | 可选 | 返回视频的排序方式。可接受的值为 "time"、"trending" 和 "views"。默认值为 "time"。 |
| type | 字符串 | 可选 | 视频类型。视频可以是直播的重新上传、直播的精彩片段等。可接受的值为 "all"、"upload"、"archive" 和 "highlight"。默认值为 "all"。 |
1import fetch from "node-fetch"; 2 3const endpointUrl = new URL("https://api.twitch.tv/helix/videos"); 4 5const headerParameters = { 6 Authorization: "Bearer {{APP_ACCESS_TOKEN}}", 7 "Client-Id": "{{CLIENT_ID}}", 8}; 9 10// 提供参数以按观看次数排序视频 11const queryParameters = new URLSearchParams({ 12 user_id: "12826", // 官方 Twitch 频道 13 sort: "views", 14}); 15 16const options = { 17 method: "GET", 18 headers: headerParameters, 19}; 20 21async function getVideos() { 22 try { 23 endpointUrl.search = queryParameters; 24 const response = await fetch(endpointUrl, options); 25 printResponse(response); 26 } catch (error) { 27 printError(error); 28 } 29} 30 31getVideos();
1import fetch from "node-fetch"; 2 3const endpointUrl = new URL("https://api.twitch.tv/helix/videos"); 4 5const headerParameters = { 6 Authorization: "Bearer {{APP_ACCESS_TOKEN}}", 7 "Client-Id": "{{CLIENT_ID}}", 8}; 9 10// 仅提供 id 参数 11const queryParameters = new URLSearchParams({ 12 id: "{{VIDEO_ID}}", 13}); 14 15const options = { 16 method: "GET", 17 headers: headerParameters, 18}; 19 20async function getVideoDetails() { 21 try { 22 endpointUrl.search = queryParameters; 23 const response = await fetch(endpointUrl, options); 24 printResponse(response); 25 } catch (error) { 26 printError(error); 27 } 28} 29 30getVideoDetails();
| 属性 | 类型 | 描述 |
|---|---|---|
| id | 字符串 | 视频的 ID。 |
| stream_id | 字符串 | 视频来源的直播流 ID(如果有)。仅当 type 属性为 "archive" 时才有值,否则为 null。 |
| user_id | 字符串 | 视频所属用户的 ID。 |
| user_login | 字符串 | 视频所属用户的登录名。 |
| user_name | 字符串 | 视频所属用户的显示名称。 |
| title | 字符串 | 视频在用户个人资料中显示的标题。 |
| description | 字符串 | 视频的描述内容。 |
| created_at | 字符串 | 视频创建时间的 RFC3339 格式时间戳。 |
| published_at | 字符串 | 视频发布时间的 RFC3339 格式时间戳。 |
| url | 字符串 | 可访问/查看视频的网址。 |
| thumbnail_url | 字符串 | 视频缩略图的静态 URL。 |
| viewable | 字符串 | 视频的可见性设置,取值为 "public"(公开)或 "private"(私密)。 |
| view_count | 整数 | 视频累计的观看次数。 |
| language | 字符串 | 视频语言的 ISO-639-1 代码。 |
| type | 字符串 | 视频类型,表示视频是过去直播的重新上传、新上传的内容,还是精彩片段等。该属性可取值为 "upload"、"archive"、"highlight"。 |
| duration | 字符串 | 视频的播放时长。 |
| muted_segments | 对象 | 表示视频中是否有被静音的片段。该对象包含两个字段:duration(静音段持续时间)和 offset(静音段开始位置距视频开头的时间偏移)。 |