【问题标题】:Why am I getting a page token error while using the live chat API?为什么在使用实时聊天 API 时出现页面令牌错误?
【发布时间】:2021-10-10 02:14:05
【问题描述】:

我正在尝试获取直播的实时聊天:

https://www.youtube.com/watch?v=xHtuITYCqcM.

为此,我制作了网址:

https://youtube.googleapis.com/youtube/v3/liveChat/messages?liveChatId=xHtuITYCqcM&key=...,

它返回以下内容:

    {
      "error": {
        "code": 400,
        "message": "page token is not valid.",
        "errors": [
          {
            "message": "page token is not valid.",
            "domain": "youtube.liveChat",
            "reason": "pageTokenInvalid"
          }
        ]
      }
    }

如果有人知道为什么会这样,请帮助我。

我是这个平台的新手,所以如果我遗漏了什么,请告诉我。

【问题讨论】:

    标签: youtube-api youtube-data-api youtube-livestreaming-api


    【解决方案1】:

    根据LiveChatMessages.list API端点的官方规范,其请求参数liveChatId定义如下:

    liveChatId(字符串)

    liveChatId 参数指定将返回其消息的聊天 ID。与广播关联的实时聊天 ID 在 liveBroadcast 资源的 snippet.liveChatId 属性中返回。

    因此,将相应流的视频 ID -- xHtuITYCqcM -- 传递给此端点是不正确的。

    如上所述,您必须调用LiveBroadcasts.list API 端点,通过 URL 将请求参数 id 设置为您的流的视频 ID(即 xHtuITYCqcM)传递给它喜欢这个:

    https://www.googleapis.com/youtube/v3/liveBroadcasts?id=xHtuITYCqcM&part=snippet&fields=items.snippet.liveChatId&access_token=$ACCESS_TOKEN

    其中$ACCESS_TOKEN 是运行成功完成 OAuth 2.0 身份验证/授权流程时获得的访问令牌。

    请注意,OAuth 流程实际上是必需的(API 密钥不够用),因为:

    Authorization

    此请求需要至少具有以下范围之一的授权 (read more about authentication and authorization)。

    范围
    https://www.googleapis.com/auth/youtube.readonly
    https://www.googleapis.com/auth/youtube
    https://www.googleapis.com/auth/youtube.force-ssl

    另外请注意,上面我使用fields 请求参数从 API 中仅获取实际使用的信息(一个很好的做法)。

    【讨论】:

    • 哦,好的,所以我关注了一个视频,他们展示了如何获取密钥,但是,我没有开始直播,那么我如何获取 id?
    猜你喜欢
    • 2016-11-19
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    • 2021-07-08
    • 2023-02-25
    • 2012-02-08
    • 2019-01-25
    • 2015-04-25
    相关资源
    最近更新 更多