Youtube实时聊天消息Javascript API响应未与youtube网站和应用上可见的实际聊天同步

问题描述 投票:2回答:1

[我们正在尝试通过youtube设置在线流事件(视频URL-https://www.youtube.com/watch?v=Sby6O2k9j4k)。现在,当我们滚动到最后时,我们在实时聊天重播中看到一条消息。但是,当我尝试从此处使用API​​查询相同内容时-

获取https://www.googleapis.com/youtube/v3/liveChat/messages

带有参数-liveChatId:Cg0KC2ZRcnpkRW5Vbm1J,部分:id,代码段,authorDetails

我得到了另一个尝试从此API插入的消息列表-

POST https://www.googleapis.com/youtube/v3/liveChat/messages

带有此请求正文-

{
  "snippet": {
    "liveChatId": "Cg0KC2ZRcnpkRW5Vbm1J",
    "type": "textMessageEvent",
    "textMessageDetails": {
      "messageText": "Test chat message api"
    }
  }
}

所以,只有我通过插入API发送的此消息才返回列表API,而不是通过youtube网站发布并可见的消息。任何人都可以帮助调试或解决此问题。

[此外,我尝试将iframe嵌入实时聊天中,但由于某些原因,iframe在移动设备中不可见,因此,如果有此修复程序,它将使我的生活更加轻松。 TIA

javascript youtube youtube-api youtube-javascript-api youtube-livestreaming-api
1个回答
0
投票

似乎您正在从以前的广播中收到消息。每当您每次上YouTube时,都会创建一个新的广播对象。因此,首先,您需要通过提供参数来获取广播列表(broadcastStatus = active)

获取https://www.googleapis.com/youtube/v3/liveBroadcasts?part=[id,snippet,contentDetails,status]&broadcastStatus=active&key=[YOUR_API_KEY]HTTP / 1.1

授权:承载[YOUR_ACCESS_TOKEN]接受:application / json

作为回应,将有现在直播的广播列表。因此,将有liveChatId。您可以获取当前广播的所有消息。

获取https://www.googleapis.com/youtube/v3/liveChat/messages?part=[id,snippet,contentDetails,status]&key=[YOUR_API_KEY]HTTP / 1.1

授权:承载[YOUR_ACCESS_TOKEN]接受:application / json

请随时告诉我这是否无效。

Ref:liveBroadcasts ListlivechatMessages List

© www.soinside.com 2019 - 2024. All rights reserved.