@framers/agentos-ext-channel-youtube

中文文档
0.1.9发布于 2026/11/13Apache-2.0TypeScriptCommonJS构建来源已验证近 30 天下载 2万

AgentOS的YouTube频道适配器——上传视频,发布Shorts,评论,搜索,跟踪分析,管理播放列表,并通过YouTube Data API v3.

中文使用文档
文档目录17 节
  1. 安装
  2. 使用量
  3. 配置
  4. 工具
  5. youtubeUpload
  6. youtubeShort
  7. youtubeComment
  8. youtubeSearch
  9. youtubeTrending
  10. youtubeAnalytics
  11. youtubePlaylist
  12. youtubeSchedule
  13. 频道适配器
  14. 读取视频状态
  15. 页:1
  16. 释放
  17. 许可证

YouTube 频道

此包提供代理视频和短片的上传,评论,搜索,趋势,统计,播放列表管理和通过YouTube Data API的预定发布 googleapis. 持有该服务的代码也可以读取一批视频的状态(下级) (中文(简体) ).

安装

npm install @framers/agentos-ext-channel-youtube

同伴依赖 : @framers/agentos >=0.10.40。 。 。 .

使用量

import { AgentOS } from '@framers/agentos';

const agentos = await AgentOS.create({
  extensionManifest: {
    packs: [
      {
        package: '@framers/agentos-ext-channel-youtube',
        options: { apiKey: process.env.YOUTUBE_API_KEY },
      },
    ],
  },
});

配置

选项秘密编号环境变量需求默认
apiKeyyoutube.apiKey变量名称 apiKeyEnv,则 YOUTUBE_API_KEY,则 GOOGLE_API_KEY对无
apiKeyEnv无无没有YOUTUBE_API_KEY
oauth无无没有全权证书如果填写完毕,则应予以解决,否则无
oauth.clientIdyoutube.oauth.clientIdYOUTUBE_OAUTH_CLIENT_ID没有无
oauth.clientSecretyoutube.oauth.clientSecretYOUTUBE_OAUTH_CLIENT_SECRET没有无
oauth.refreshTokenyoutube.oauth.refreshTokenYOUTUBE_OAUTH_REFRESH_TOKEN没有无
priority无无没有50
secretsyoutube.apiKey, (中文(简体) ), youtube.oauth.clientId, (中文(简体) ), youtube.oauth.clientSecret, (中文(简体) ), youtube.oauth.refreshToken无没有无

API 密钥从选项中解析, 那么 options.secrets,然后是环境变量。 第一个环境检查用途 apiKeyEnv,默认为 YOUTUBE_API_KEY明确 oauth 对象覆盖 OAuth 秘密和环境分辨率。 否则,每个 OAuth 字段都会在其环境变量之前从秘密中解析出, OAuth 只有在全部字段解析后才能被启用. 这个 oauth 界面需要所有提供对象的字段.

工具

工具它会做什么
youtubeUpload上传带有标题,描述,标签和隐私设置的视频.
youtubeShort上传带有短字的短字 #Shorts 标签.
youtubeComment张贴评论或对现有评论的答复.
youtubeSearch按关键词搜索视频,频道或播放列表.
youtubeTrending按地区和类别获取受欢迎的视频.
youtubeAnalytics获取视频或频道性能衡量标准.
youtubePlaylist创建、列出、添加视频或删除播放列表.
youtubeSchedule上传一段私人录像,供预定公开出版.

youtubeUpload

参数类型需求说明
videoUrl字符串对要上传的视频文件的 URL
title字符串对视频标题(最多) 100 字符数)
description字符串对视频描述(最多) 5000 字符数)
tags字符串 []没有可发现的视频标签
categoryId字符串没有YouTube 分类 ID( 默认 ): 22、 人与博客)
privacyStatus字符串 : public, (中文(简体) ), private, (中文(简体) ), unlisted没有隐私状态( 默认 ): public(中文(简体) )
mimeType字符串没有视频 MIME 类型( 默认 ): video/mp4(中文(简体) )

youtubeShort

参数类型需求说明
videoUrl字符串对短式视频文件的 URL
title字符串对短标题(最多) 100 字符数)
description字符串没有简短说明
tags字符串 []没有附加标记( 除此之外) #Shorts(中文(简体) )
privacyStatus字符串 : public, (中文(简体) ), private, (中文(简体) ), unlisted没有隐私状态( 默认 ): public(中文(简体) )

youtubeComment

参数类型需求说明
videoId字符串对YouTube 视频标识
text字符串对注释文本
parentCommentId字符串没有回复注释的父注释 ID

youtubeSearch

参数类型需求说明
query字符串对搜索查询
type字符串 : video, (中文(简体) ), channel, (中文(简体) ), playlist没有搜索类型( 默认 ): video(中文(简体) )
maxResults编号没有返回的最大结果( 默认值 : 10,最大值 : 50(中文(简体) )
order字符串 : relevance, (中文(简体) ), date, (中文(简体) ), rating, (中文(简体) ), viewCount, (中文(简体) ), title没有排序顺序( 默认 ): relevance(中文(简体) )
regionCode字符串没有ISO 3166-1α-2区域代码(例如, US, (中文(简体) ), GB(中文(简体) )

youtubeTrending

参数类型需求说明
regionCode字符串没有ISO 3166-1 α-2区域代码(默认: US(中文(简体) )
categoryId字符串没有YouTube视频类ID(如:, 10 音乐, 17 体育部, 20 游戏)
maxResults编号没有返回的最大结果( 默认值 : 20,最大值 : 50(中文(简体) )

youtubeAnalytics

参数类型需求说明
type字符串 : video, (中文(简体) ), channel对是否为视频或频道获取分析
videoId字符串没有视频 ID( 当需要时) type 实值 video(中文(简体) )
channelId字符串没有频道 ID( 可选 type channel,默认如果设置了 OAuth 频道)

youtubePlaylist

参数类型需求说明
action字符串 : create, (中文(简体) ), list, (中文(简体) ), listItems, (中文(简体) ), addVideo, (中文(简体) ), delete对要执行的播放列表动作
title字符串没有播放列表标题( 创建需要)
description字符串没有播放列表描述
privacyStatus字符串 : public, (中文(简体) ), private, (中文(简体) ), unlisted没有隐私状态( 默认 ): public(中文(简体) )
playlistId字符串没有播放列表 ID( 需要 listItems, (中文(简体) ), addVideo, (中文(简体) ), delete(中文(简体) )
videoId字符串没有视频标识( 需要 addVideo(中文(简体) )
channelId字符串没有频道 ID( 列表可选, 默认为拥有频道)
maxResults编号没有列表操作的最大结果

youtubeSchedule

参数类型需求说明
videoUrl字符串对要上传的视频文件的 URL
title字符串对视频标题(最多) 100 字符数)
description字符串对视频描述(最多) 5000 字符数)
publishAt字符串对预定公布时间的ISO 8601日期时间
tags字符串 []没有可发现的视频标签
categoryId字符串没有YouTube 分类 ID( 默认 ): 22、 人与博客)
mimeType字符串没有视频 MIME 类型( 默认 ): video/mp4(中文(简体) )

频道适配器

适配器注册平台 youtube. 激活初始化API服务,连接状态遵循其运行状态. 视频块触发 HTTPS URL 的上传;元数据来自 platformOptions.title, (中文(简体) ), platformOptions.tags, (中文(简体) ), platformOptions.categoryId 财务报告和审定财务报表 platformOptions.privacyStatus。标题回到视频字幕,然后 Untitled; 文本块在标题倒置前提供描述.

没有视频屏蔽, 发送评论使用 conversationId 作为视频标识和 replyToMessageId 作为可选父注释 ID。 空视频ID或评论文本抛出. 适配器存储事件处理器,但不会发出入境事件. 打字指标无用.

读取视频状态

YouTubeService.getVideosStatus(videoIds) 立即读取许多视频的状态并需要API密钥。 它召唤 videos.list 带部分 snippet, (中文(简体) ), status 财务报告和审定财务报表 contentDetails 每50个身份证一次,每个电话要一个配额单位,所以120个身份证要三个单位.

它为API返回的每段视频返回一行,顺序为所要求的ID. 两次被问到的id被读过一次,并有一行. 一个 ID API 返回什么也没有, 例如一个删除的或私有的视频, 没有行 。 一行人拿着录像 id 和这些字段,每个值如API给它,所以一个呼叫者检查一个值的类型本身:

编字段
snippetchannelId, (中文(简体) ), channelTitle, (中文(简体) ), title, (中文(简体) ), description
statusembeddable, (中文(简体) ), madeForKids, (中文(简体) ), privacyStatus
contentDetailscaption, (中文(简体) ), duration, (中文(简体) ), contentRating

排行中未包含 API 的字段 。 空列表不打电话。 一次失败的呼叫,其中被拒绝的配额,用API自己的错误拒绝,没有回行. 该方法存储什么也没有记录什么.

import { YouTubeService, type VideoStatusRow } from '@framers/agentos-ext-channel-youtube';

const youtube = new YouTubeService({ apiKey: process.env.YOUTUBE_API_KEY! });
await youtube.initialize();
const rows: VideoStatusRow[] = await youtube.getVideosStatus(['video-id-1', 'video-id-2']);

页:1

如果没有 API 密钥解析, 则创建包丢 。 上传,评论,播放列表创建,播放列表添加和播放列表删除需要OAuth认证,并在账户上更改内容. 列出账户自己的播放列表也需要OAuth. 通道分析需要 channelId 当OAuth不在的时候.

上传工具获取 HTTP 或 HTTPS 视频 URL 和对 API 的流响应 。 他们没有设置下载超时,检查没有HTTP响应状态,也没有执行方向处理. 服务默认上传到 public, (中文(简体) ), video/mp4 和博客类别 selfDeclaredMadeForKids 改为 false。 。 。 .

短片上传后添加 Shorts 转到标签和附件 #Shorts 在描述。 代码不验证持续时间或方向. 排程拒绝无效或过去的日期,然后上传到 private 隐私和 publishAt;它不使用本地出版计时器.

搜索、趋势和播放列表列名请求上限为 50 结果。 播放列表默认为 25 结果。 工具失败返回 success: false 和一个错误消息。 特定动作播放列表字段和视频分析ID在执行过程中被检查,尽管在他们的计划中是可选的.

释放

新版本发表于 架设层/剂-外延 由 GitHub Actions 通过 npm 信任的出版, 并附有出处声明 .

许可证

阿帕奇 - 2.0

版本与发布记录

@framers/agentos-ext-channel-youtube 共发布 10 个版本,首次发布于 2026/05/02;过去 12 个月发布了 10 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
0.1.9latest2026/11/132 天前
0.1.82026/11/114 天前
0.1.72026/11/0114 天前
0.1.62026/11/0115 天前
0.1.52026/10/121 个月前
0.1.42026/10/111 个月前

关于 @framers/agentos-ext-channel-youtube 的常见问题

@framers/agentos-ext-channel-youtube 是什么?

AgentOS的YouTube频道适配器——上传视频,发布Shorts,评论,搜索,跟踪分析,管理播放列表,并通过YouTube Data API v3.

如何安装 @framers/agentos-ext-channel-youtube?

在项目目录运行 npm install @framers/agentos-ext-channel-youtube,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@framers/agentos(>=0.10.40)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@framers/agentos-ext-channel-youtube 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@framers/agentos-ext-channel-youtube 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@framers/agentos-ext-channel-youtube 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=22。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@framers/agentos-ext-channel-youtube 可以商用吗?

@framers/agentos-ext-channel-youtube 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@framers/agentos-ext-channel-youtube 的下载量有多少?

根据 npm 官方下载统计,@framers/agentos-ext-channel-youtube 在 2026/10/16 – 2026/11/14 这 30 天内被下载 20,476 次,日均约 683 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@framers/agentos-ext-channel-youtube 还在维护吗?

最新版本 0.1.9 发布于 2026/11/13(2 天前);至今共发布 10 个版本,其中过去 12 个月发布了 10 个;首次发布于 2026/05/02。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。