How to obtain a feed of comments entered through the 'chat' box during a YouTube live broadcast?

前端 未结 3 1850
生来不讨喜
生来不讨喜 2020-11-29 03:39

The YouTube API enables users to obtain a comments feed, e.g. via https://gdata.youtube.com/feeds/api/videos/VIDEO_ID/comments?orderby=published.

Howeve

相关标签:
3条回答
  • 2020-11-29 04:04

    Ibrahim Ulukaya, a member of Google's Developer Relations team focusing on the YouTube API, stated the following on a similar quesiton (How to get chat content of Youtube live event in Java):

    The API doesn't have connection to live chat at this moment. We are hoping to get that content incorporated into API soon.

    via https://stackoverflow.com/a/26427743/1085891

    0 讨论(0)
  • 2020-11-29 04:04

    I came Up with a Basic Script for this

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Net;
    using System.IO;
    using System.Text.RegularExpressions;
    using OpenQA.Selenium;
    using OpenQA.Selenium.Chrome;
    
    namespace test
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                Starting();
            }
    
            public void Starting()
            {
                IWebDriver driver = new ChromeDriver();
                driver.Navigate().GoToUrl("https://www.youtube.com/watch?v=Yu5Om0SH3No");
    
                Thread.Sleep(10000);
    
                //Find Comments
                IWebElement element = driver.FindElement(By.ClassName("comment-text"));
                Console.WriteLine("Text: " + element.Text);
    
                //Find User names
                IWebElement element2 = driver.FindElement(By.XPath(".//*[@class='g-hovercard yt-uix-sessionlink yt-user-name']"));
                Console.WriteLine("Username: " + element2.Text);
    
    
    
            }
        }
    }
    

    Will Need More Hours Of Work To Make It Read the Page as The Comments Flow.

    0 讨论(0)
  • 2020-11-29 04:08

    It is now possible to return chat messages for your own broadcasts using the LiveChatMessages endpoint as part of the YouTube Live Streaming API.

    When creating a new liveBroadcast object, a liveChatId String will be returned as part of that liveBroadcast's snippet. Pass your broadcast's chat ID to LiveChatMessages/list endpoint's liveChatId parameter, and id, snippet, and authorDetails into the part parameter.

    HTTP GET https://www.googleapis.com/youtube/v3/liveChat/messages?liveChatId={liveChatId}&part=id%2C+snippet%2C+authorDetails&key={YOUR_API_KEY}
    

    This will return an array of liveChatMessage resources. The actual chat message is contained in the textMessageDetails dictionary as the value for the messageText key.

    "textMessageDetails": {
      "messageText": string
    }
    
    0 讨论(0)
提交回复
热议问题