You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过YouTube LiveChatBans API实现封禁、解封及获取封禁用户列表?

YouTube Live Chat 封禁、解封及封禁列表实现方案

一、封禁用户(insert 方法)

调用liveChatBans.insert接口即可完成封禁,核心参数要求如下:

  • liveChatId:当前直播聊天室的ID(可通过liveBroadcasts.list接口获取直播详情时拿到)
  • channelId:主播的频道ID
  • bannedUserDetails.channelId:被封禁用户的频道ID(必须从聊天消息的authorChannelId字段获取,无法凭空生成)
  • 封禁类型:设置type: "permanent"为永久封禁,或通过banDurationSeconds指定临时封禁时长(比如3600代表1小时)

示例HTTP请求:

POST https://www.googleapis.com/youtube/v3/liveChat/bans?part=snippet
Authorization: Bearer [你的ACCESS_TOKEN]
Content-Type: application/json

{
  "snippet": {
    "liveChatId": "LIVE_CHAT_ID_VALUE",
    "channelId": "YOUR_CHANNEL_ID",
    "type": "permanent",
    "bannedUserDetails": {
      "channelId": "TARGET_USER_CHANNEL_ID"
    }
  }
}

二、解封用户(delete 方法)

解封的核心是拿到banId——这个ID是封禁时接口返回的唯一标识,官方未提供查询接口,必须提前保存:

  1. 封禁时留存返回结果:调用insert成功后,响应体里的id字段就是banId,务必把这个ID和被封用户ID、直播ID等信息存入应用数据库,这是自动化解封的唯一可靠途径。
  2. 手动获取历史封禁ID:如果是之前通过YouTube Studio封禁的用户,可登录后台进入「评论管理」→「被封禁用户」,导出CSV文件,里面会包含相关ID信息,但无法集成到应用中。

拿到banId后,调用delete接口即可解封:

DELETE https://www.googleapis.com/youtube/v3/liveChat/bans?id=BAN_ID_VALUE&part=snippet
Authorization: Bearer [你的ACCESS_TOKEN]

三、获取封禁用户列表(官方API无直接接口,变通方案)

YouTube Live Chat API确实没有提供获取封禁列表的接口,只能通过以下方式实现:

  • 自建封禁记录数据库:每次封禁用户时,把banId、被封用户ID、封禁时间、封禁类型、关联直播ID等信息存入自己的数据库,后续需要列表时直接查询该数据库,这是唯一能集成到应用中的方案。
  • YouTube Studio手动导出:适合少量历史封禁记录的场景,但无法自动化。
  • 辅助验证用户状态:如果需要判断某用户是否被封,优先查询自己的数据库;若没有记录,也可尝试给该用户发送测试消息(若返回权限错误,可间接判断被封,但这种方式误差大,不推荐)。

额外提示

  • 临时封禁到期后,YouTube会自动解除,无需手动调用delete,可在数据库中记录到期时间,定期清理过期记录。
  • 确保你的OAuth令牌拥有youtube.liveChat权限,否则会返回权限不足错误。

内容的提问来源于stack exchange,提问作者Arthur Saverest

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 06:20:34