J'utilise l'API YouTube v3 pour rechercher sur YouTube.
https://developers.google.com/youtube/v3/docs/search
Comme vous pouvez le voir, la réponse JSON ne contient pas de durées vidéo. Existe-t-il un moyen d'obtenir la durée des vidéos?
De préférence, ne pas appeler à nouveau une API pour chaque élément du résultat (à moins que ce ne soit le seul moyen d'obtenir des durées).
php
objective-c
rest
youtube-api
youtube-data-api
Rukshan Marapana
la source
la source
Réponses:
Vous devrez passer un appel à la ressource vidéo de l'API de données YouTube après avoir effectué l'appel de recherche. Vous pouvez mettre jusqu'à 50 ID vidéo dans une recherche, vous n'aurez donc pas à l'appeler pour chaque élément.
https://developers.google.com/youtube/v3/docs/videos/list
Vous voudrez définir
part=contentDetails
, car la durée est là.Par exemple, l'appel suivant:
Donne ce résultat:
L'heure est formatée sous la forme d'une chaîne ISO 8601. PT signifie durée, 4M correspond à 4 minutes et 13S correspond à 13 secondes.
la source
datetime.timedelta
, qui peut être formaté en pratiquement n'importe quoi.J? ai compris!
Là, il renvoie l'heure de l'API YouTube version 3 (la clé est d'ailleurs constituée;). j'ai utilisé
$vId
que je venais de sortir de la liste renvoyée des vidéos de la chaîne dont je montre les vidéos ...Ça marche. Google a VRAIMENT besoin d'inclure la durée dans l'extrait de code afin que vous puissiez tout obtenir avec un seul appel au lieu de deux ... c'est sur leur liste "wontfix".
la source
}
?J'ai écrit le cours suivant pour obtenir la durée de la vidéo YouTube à l'aide de l'API YouTube v3 (elle renvoie également des vignettes):
Veuillez noter que vous aurez besoin d'API_KEY pour utiliser l'API YouTube:
la source
Ce code extrait la durée de la vidéo YouTube à l'aide de l'API YouTube v3 en transmettant un ID vidéo. Cela a fonctionné pour moi.
Vous pouvez obtenir la clé API YouTube de votre domaine sur https://console.developers.google.com et générer des informations d'identification pour vos propres besoins.
la source
Vous pouvez obtenir la durée à partir du champ 'contentDetails' dans la réponse json.
la source
Durée en secondes avec Python 2.7 et l'API YouTube v3:
la source
Youtube Data 3 API, conversion de chaîne de durée en secondes en Python
Exemple:
la source