如何借助Apps Script将视频上传至指定YouTube频道?
解决YouTube品牌账号视频上传的频道指定问题
问题翻译
我尝试将视频上传至我的某一YouTube品牌账号,但使用Apps Script时无法选择视频要上传到的频道。请问是否有办法指定频道,或是通过品牌账号上传视频?以下是我的代码:
function PostVideoToYT(channel_id, video_url, title, description) { const sourceFile = UrlFetchApp.fetch(video_url, { muteHttpExceptions: true }).getBlob(); const videoResource = { snippet: { title: title, description: description, channelId:"UCNywJdNO5K6edWupWD6opVw", }, status: { privacyStatus: 'private' }, }; const newVideo = YouTube.Videos.insert(videoResource, "snippet,status", sourceFile); // Modified Logger.log(newVideo) return newVideo; }
如何指定channel_id?
解决方案
替换硬编码频道ID为传入参数
你当前代码里的channelId是固定写死的值,直接把它替换成函数参数里的channel_id,就能在调用函数时动态指定目标频道:const videoResource = { snippet: { title: title, description: description, channelId: channel_id, // 替换为传入的参数 }, status: { privacyStatus: 'private' }, };确保授权账号有权限访问目标品牌频道
Apps Script调用YouTube API时,使用的是当前授权的Google账号身份,这个账号必须是目标品牌账号的管理者或内容创作者,否则会因权限不足无法上传视频到该品牌频道。调用函数时传入正确的频道ID
调用PostVideoToYT函数时,第一个参数传入品牌账号对应的频道ID(注意是频道ID,不是品牌账号的管理ID),示例:PostVideoToYT("UCNywJdNO5K6edWupWD6opVw", "视频URL", "视频标题", "视频描述");
内容的提问来源于stack exchange,提问作者Viktor Kravtsov
相关产品推荐
相关产品推荐

