调用YouTube直播聊天API时出现page token无效错误该如何解决?
问题排查与解决方法
核心错误原因
- 你错误将直播的视频ID
xHtuITYCqcM当作了liveChatId参数的有效值,直播视频ID和直播聊天室ID是完全不同的两个字段,直接传视频ID会导致接口参数校验失败。 - 你的请求缺少必填的
part参数,liveChat/messages接口要求必须携带part参数指定返回的数据字段。 - 若你后续请求传入了过期/错误的
pageToken,也会触发该报错。
正确操作步骤
- 首先调用Videos接口获取对应直播的聊天室ID
请求命令示例:
GET https://youtube.googleapis.com/youtube/v3/videos?part=liveStreamingDetails&id=xHtuITYCqcM&key=你的API密钥
返回结果中liveStreamingDetails.activeLiveChatId字段的值才是后续需要用到的liveChatId,如果该字段不存在,说明对应直播未开始、已结束或者未开启公开聊天权限。
- 首次拉取直播聊天内容
请求命令示例:
GET https://youtube.googleapis.com/youtube/v3/liveChat/messages?part=snippet,authorDetails&liveChatId=上一步获取到的聊天室ID&key=你的API密钥
首次请求不需要传入pageToken参数,接口会返回第一页聊天数据以及nextPageToken字段。
- 后续拉取更新的聊天内容
将上一次接口返回的nextPageToken的值作为pageToken参数传入即可:
GET https://youtube.googleapis.com/youtube/v3/liveChat/messages?part=snippet,authorDetails&liveChatId=上一步获取到的聊天室ID&pageToken=上一次请求返回的nextPageToken&key=你的API密钥
额外注意事项
- 已结束的直播无法通过该接口获取历史聊天内容
- 确保你的Google Cloud账号已经开通YouTube Data API v3的访问权限,且API密钥配额充足
内容的提问来源于stack exchange,提问作者Electronics Boy
相关产品推荐
相关产品推荐

