web-dev-qa-db-fra.com

L'API de données YouTube ne renvoie plus les flux en direct actifs de search.list

J'ai écrit une application qui utilise l'API YouTube Data V3 search.list , qui a pu extraire des flux en direct actifs pour une chaîne spécifiée (fonctionnant depuis 2018) en utilisant les éléments suivants:

https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=UCSJ4gkVC6NrvII8umztf0Ow&type=video&eventType=live&key={MYAPIKEY}

Ce qui précède ne renvoie plus de résultats pour moi au 12 septembre 2019.

L'élargissement de la recherche à toutes les vidéos d'une chaîne spécifiée n'affiche plus non plus le flux en direct actif:

https://www.googleapis.com/youtube/v3/search?part=snippet&channelId=UCSJ4gkVC6NrvII8umztf0Ow&order=date&key={MYAPIKEY}

Cependant, la recherche de l'ID du flux en direct actif lui-même fonctionne pour renvoyer des informations sur la vidéo, ce qui m'amène à croire qu'il existe toujours un moyen d'y parvenir:

https://www.googleapis.com/youtube/v3/videos?part=snippet&id=hHW1oY26kxQ&key=

Je suis à la recherche d'une nouvelle solution qui serait en mesure d'interroger un canal pour voir s'ils ont un flux en direct actif en cours d'exécution et récupérer les propriétés de ce flux en direct.

8
danviho

Mise à jour: Il semble que le problème soit résolu par Google et fonctionne normalement.

J'ai le même problème, l'API de recherche eventType = live ne donne plus de résultats et le coder sans eventType affiche toutes les vidéos, y compris les vidéos en direct, mais il n'y a aucun moyen de les trier car livebroadcastcontent n'en dit aucun, même si c'est en direct. J'espère que c'est un échec temporaire. Changer channelId en channelId ne fait rien.

J'ai obtenu une solution temporaire comme suit. Supprimez channelId et utilisez un mot clé à la place q = ... cela renvoie une diffusion en direct. Ce n'est pas la solution la meilleure ou la plus pratique, mais cela m'a un peu aidé. Je pense que YouTube doit résoudre notre problème n avec eventType-live pour un channelId cela ne fonctionne toujours pas.

1
prox

Il se passe certainement quelque chose avec l'API YouTube Data. Si vous l'essayez sur la console Deverloper pour Search: list cela ne fonctionnera pas si vous fournissez channelId. Cependant, si vous fournissez channelId, il retournera toujours 0 résultat. J'ai essayé cela avec plusieurs autres chaînes qui diffusent en direct en ce moment.

Il y a plusieurs autres personnes qui publient sur ce même problème. Nous ne sommes donc pas les seuls à rencontrer ce problème. Google doit réparer quelque chose.

1
terryoboy

Il semble que quelque chose ait changé du côté de Google. Changez 'channelId' en 'channelID' et cela devrait fonctionner. Cependant, leur documentation indique toujours channelId, alors peut-être qu'ils vont le changer à nouveau.

0
Brendon

Votre type de requête de recherche (qui est relative à une chaîne donnée) peut être remplacé par une requête appropriée à la playlist de téléchargement de la chaîne .

En faisant cela, interrogez le point de terminaison des vidéos pour l'ensemble de vidéos que vous avez déterminé à ajouter récemment (via l'appel précédent que vous avez fait au point de terminaison PlaylistItems ).

Pour chacune de ces vidéos, accédez à la propriété liveBroadcastContent .

0
stvar