如何获取YouTube直播聊天消息?API调用遇pageToken无效报错
问题描述
调用YouTube Data API v3的liveChatMessages/list接口获取直播聊天消息时,持续收到pageToken无效的400错误——尽管该参数为可选参数,且仅在首次获取消息列表后才能获得。即使在官方文档测试页面,使用对应有效视频的ID执行以下curl请求:
curl \ 'https://youtube.googleapis.com/youtube/v3/liveChat/messages?liveChatId=4xDzrJKXOOY&part=snippet&key=[YOUR_API_KEY]' \ --header 'Authorization: Bearer ACCESS TOKEN' \ --header 'Accept: application/json' \ --compressed
仍返回如下错误:
{ "error": { "code": 400, "message": "page token is not valid.", "errors": [ { "message": "page token is not valid.", "domain": "youtube.liveChat", "reason": "pageTokenInvalid" } ] } }
解决方案
- 使用正确的liveChatId:你传入的
4xDzrJKXOOY是视频ID,而非直播聊天ID。需先调用videos/list接口,参数设为id=4xDzrJKXOOY&part=liveStreamingDetails,返回结果里的liveStreamingDetails.activeLiveChatId才是liveChatMessages/list接口需要的liveChatId值。 - 检查令牌权限:确保你的OAuth 2.0令牌包含
https://www.googleapis.com/auth/youtube.readonly或更高权限,部分私密直播可能需要额外权限才能读取聊天内容。 - 确认直播状态:目标直播必须处于活跃直播中,已结束的直播无法通过该接口获取聊天消息,会直接返回pageToken无效的错误。
- 清理请求参数:若在测试工具中反复请求,检查是否有缓存的空值/过期pageToken残留,确保首次请求URL完全不包含
pageToken参数。
内容的提问来源于stack exchange,提问作者AccessDenied
相关产品推荐
相关产品推荐

