Logo
Section 1 / 3

上传视频

学习如何使用 YouTube Data API 上传视频并设置缩略图。

导入

上传视频

学习如何使用 YouTube Data API 上传视频并设置缩略图。

`videos` 资源用于对 YouTube 视频执行多种操作。在本课程中,我们将学习 `videos` 资源的两个重要端点。此外,我们还将学习如何使用 YouTube Data API 上传视频以及为视频添加缩略图。

...

代码示例

1https://www.googleapis.com/upload/youtube/v3/videos

参数名类型分类描述
part字符串必需此参数有两个作用:指定用户将设置的属性,以及指定 API 响应中包含的属性,包括 contentDetails、fileDetails、id、liveStreamingDetails、localizations、player、processingDetails、recordingDetails、snippet、statistics、status、suggestions 和 topicDetails。
notifySubscribers布尔值可选允许 YouTube 向频道订阅者发送通知。
onBehalfOfContentOwner字符串可选用于标识用户正在代表内容所有者进行更改。
1import fetch from 'node-fetch'; 2import fs from 'fs'; 3 4const endpointUrl = new URL('https://www.googleapis.com/upload/youtube/v3/videos'); 5 6// 定义请求头参数 7const headerParameters = { 8 Authorization: 'Bearer {{ACCESS_TOKEN}}', 9 Accept: 'application/octet-stream', 10}; 11 12// 定义请求体参数 13const videoPath = fs.readFileSync('welcome.mp4'); 14 15const options = { 16 method: 'POST', 17 headers: headerParameters, 18 body: videoPath, 19}; 20 21// 发送 API 请求的函数 22async function uploadVideo() { 23 try { 24 const response = await fetch(endpointUrl, options); 25 printResponse(response); 26 } catch (error) { 27 printError(error); 28 } 29} 30 31uploadVideo();

字段名类型描述
kind字符串反映 API 调用的资源类型。
etagETag包含资源的 ETag 标识。
id字符串包含分配给视频的唯一视频 ID。
snippet对象包含视频详情,如标题、描述、标签、分类等。

代码示例

1https://www.googleapis.com/upload/youtube/v3/thumbnails/set

参数名类型分类描述
videoId字符串必需表示要更新缩略图的视频 ID。
onBehalfOfContentOwner字符串可选用于标识用户正在代表内容所有者进行更改。
1import fetch from 'node-fetch'; 2import fs from 'fs'; 3 4const endpointUrl = new URL('https://www.googleapis.com/upload/youtube/v3/thumbnails/set'); 5 6// 定义请求头参数 7const headerParameters = { 8 Authorization: 'Bearer {{ACCESS_TOKEN}}', 9 Accept: 'application/octet-stream', 10}; 11 12const queryParameters = new URLSearchParams({ 13 videoId: '{{VIDEO_ID}}', 14}); 15 16const thumbnailPath = fs.readFileSync('thumbnail.png'); 17 18const options = { 19 method: 'POST', 20 headers: headerParameters, 21 body: thumbnailPath, 22}; 23 24// 上传视频封面的函数 25async function uploadVideoBanner() { 26 try { 27 endpointUrl.search = queryParameters; 28 const response = await fetch(endpointUrl, options); 29 printResponse(response); 30 } catch (error) { 31 printError(error); 32 } 33} 34 35uploadVideoBanner();

字段名类型描述
url字符串包含缩略图的 URL 地址。
width整数包含图片的宽度。
height整数包含图片的高度。

YouTube 频道

更新、列出和删除视频