Conditions d'utilisation-YouTube Assurez-vous de vérifier les conditions d'utilisation de YouTube, car elles peuvent entrer en conflit avec les conditions d'utilisation de YouTube en fonction de votre utilisation.
C'est un problème que j'ai rencontré lors du développement récent d'applications personnelles. Maintenant que la distribution YouTube en direct est active tous les jours, vous souhaitez souvent obtenir les dernières informations de distribution en direct pour cette chaîne tout en ayant un identifiant de chaîne. Cependant, les deux problèmes suivants se posent lorsque vous essayez d'obtenir les dernières informations de distribution en direct à l'aide de l'API de données YouTube.
channels
, les informations de distribution en direct (informations pendant la distribution en direct ou dont la sortie est prévue) ne sont pas incluses. (Actuellement en mai 2020)search
avec un identifiant de canal, elle sera traitée comme une opération d'écriture, elle coûtera donc des dizaines de fois plus que les autres opérations d'acquisition d'informations list
(https://developers.google). .com / youtube / v3 / getting-started? hl = ja) sera consommé.Comme cela n'a pas de sens si vous n'obtenez pas et ne mettez pas à jour fréquemment la présence ou l'absence d'informations de distribution en direct, l'utilisation de la ressource search
éliminera bientôt la répartition des coûts de quota qui peut être utilisée pendant une journée. D'autre part, s'il existe un moyen d'obtenir l'ID de diffusion en direct videoId
, vous pouvez spécifier videoId
pour accéder aux informations de diffusion en direct à partir de la ressource videos
à un coût de quota faible.
Par conséquent, il est nécessaire d'obtenir le dernier ID de distribution en direct de la chaîne, videoId
, sans utiliser l'API de données YouTube.
Il peut ne pas être beaucoup utilisé, mais si la chaîne a des informations de diffusion en direct, vous pouvez intégrer le dernier lecteur de diffusion en direct dans la page en utilisant l'URL ci-dessous.
url = "https://www.youtube.com/embed/live_stream?channel=<ID de canal>"
Il sera plus facile de parler si vous affichez la dernière distribution en direct. La prochaine chose à faire est de supprimer la page ~~ et de récupérer les informations requises videoId
.
content = Net::HTTP.get_response(URI.parse(url)).entity
unless content.match(/watch\?.+/) == nil
match = content.match(/watch\?.+/)[0]
videoId = match.sub("watch?v=","").sub("\">","")
end
Comme il est essentiellement écrit sous la forme de watch? V = <videoId>
sur les pages et les URL YouTube, vous pouvez utiliser les méthodes match
et sub
du content
obtenu pour obtenir videoId
. Facile à avoir. (Merci à YouTube qui l'a correctement entretenu)
Maintenant que vous avez le videoId
, vous pouvez utiliser la ressource videos (videos)
de l'API de données YouTube pour obtenir l'état de la distribution et l'heure de distribution.
https://stackoverflow.com/questions/58040154/how-to-get-live-video-id-from-from-youtube-channel-html