Pré-requis :
- Avoir une clé Api Google https://console.developers.google.com
- Connaitre l’ID de la chaine Youtube sur laquelle on veut boucler
Bon à savoir : L’API Youtube retourne des objets au format Json, on va donc utiliser l’itérateur du même nom.
La boucle « BOUCLE_youtube » va retourner les 2 dernières vidéos de la chaine Youtube. Dans la source, il faut remplacer CLE_API_GOOGLE par votre cle API Google et ID_CHAINE_YOUTUBE par l’identifiant de la chaine Youtube.
La boucle « BOUCLE_youtube_details » va retourner toutes les infos sur une vidéos (miniature, titre, durée...). Dans la source, il faut remplacer CLE_API_GOOGLE par votre cle API Google.
<B_youtube>
<ul>
<BOUCLE_youtube(DATA)
{source json,'https://www.googleapis.com/youtube/v3/search?key=CLE_API_GOOGLE&channelId=ID_CHAINE_YOUTUBE&part=id&order=date&maxResults=2'}
{datapath /items}
{0,2}
>
<li>
<BOUCLE_youtube_details(DATA){source json,#VAL{'https://www.googleapis.com/youtube/v3/videos?key=CLE_API_GOOGLE&part=snippet,contentDetails&id='}|concat{#VALEUR{id}|get_object_vars|table_valeur{videoId}}}
{datapath /items}
{0,1}
>
<ul>
[<li class="video_image"><a href="http://www.youtube.com/watch?v=#VALEUR{id}" rel="external"><img src="(#VALEUR{snippet}|get_object_vars|table_valeur{thumbnails}|get_object_vars|table_valeur{standard}|get_object_vars|table_valeur{url})" alt="" /></a></li>]
[<li class="video_titre">(#VALEUR{snippet}|get_object_vars|table_valeur{title})</li>]
<li class="video_duree">[(#VALEUR{contentDetails}|get_object_vars|table_valeur{duration}|match{(\d+)H}|replace{'H',''}):][(#VALEUR{contentDetails}|get_object_vars|table_valeur{duration}|match{(\d+)M}|replace{'M',''})][:(#VALEUR{contentDetails}|get_object_vars|table_valeur{duration}|match{(\d+)S}|replace{'S',''})]</li>
</ul>
</BOUCLE_youtube_details>
</li>
</BOUCLE_youtube>
</ul>
</B_youtube>
<//B_youtube>
Comme l’API retourne des objets et non des tableaux, on est obligé de passer par la fonction php get_object_vars() pour récupérer les valeurs.
Les informations sur le format des données retournées est disponible ici : https://developers.google.com/youtube/v3/docs/videos
Attention : il faut avoir l’extension Php Openssl activé sur votre serveur.
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |