Afficher des vidéos de YouTube avec YQL

Pour lister des vidéos de Youtube on utilise la boucle DATA de SPIP 3 ainsi qu’une recherche sur Youtube via YQL

Le code

  1. <B_youtube>
  2. <ul class="thumbnails">
  3. <BOUCLE_youtube(DATA)
  4. {source yql, "select * from youtube.search(50) where query='spip'"}
  5. {datapath query/results/video}
  6. {pagination 9}>
  7. <li class="span2">
  8. <a class="thumbnail" style="height:200px" href="#URL">
  9. <img src="#VALEUR{thumbnails/thumbnail/0/content}" />
  10. <h3>#VALEUR{title}</h3>
  11. </a>
  12. </li>
  13. </BOUCLE_youtube>
  14. </ul>
  15. [<div class='pagination'>(#PAGINATION{page})</div>]
  16. </B_youtube>

Télécharger

Le résultat

Aucun résultat

Et voilà le travail !

CKAN API

CKAN est un outil de gestion/publication d’entrepôt OpenData assez largement utilisé. Il propose une API REST qui permet d’interroger l’entrepôt pour rechercher, lister et récupérer des jeux de données, le tout au format JSON.

L’interrogation de cette API se fait donc simplement à travers la méthode JSON.

Un exemple tiré de la documentation de l’API CKAN.

Le code

  1. <dl>
  2. <BOUCLE_ckan(DATA)
  3. {source json, http://demo.ckan.org/api/3/action/group_list?id=data_explorer}>
  4. <dt>#CLE</dt>
  5. <dd>[(#VALEUR|print)]</dt>
  6. </BOUCLE_ckan>
  7. </dl>

Télécharger

Le résultat

help
https://demo.ckan.org/api/3/action/help_show?name=group_list
success
1
result
group-23, group-test-22-06-2017

Dans un second exemple, on fait une recherche de jeux de données sur un mot clé "spending" :

Le code

  1. <dl>
  2. <BOUCLE_ckan(DATA)
  3. {source json, http://demo.ckan.org/api/3/action/package_search?q=spending}>
  4. <dt>#CLE</dt>
  5. <dd>[(#VALEUR|print)]</dt>
  6. </BOUCLE_ckan>
  7. </dl>

Télécharger

Le résultat

help
https://demo.ckan.org/api/3/action/help_show?name=package_search
success
1
result

count: 0
sort: score desc, metadata_modified desc
facets:
results:
search_facets:

Twitter API

L’exemple de l’API Twitter est intéressant, car c’est une API qui ne peut être intérrogée qu’au moyen d’un processus d’authentification OAuth, et non simplement en interrogeant une URL.

Nous utilisons pour ce faire le plugin Twitter pour SPIP qui intègre une méthode twitter pour la boucle (DATA).

Il devient alors aussi facile d’interroger Twitter à travers son API propriétaire que d’utiliser une simple API en REST :

Le code

  1. <B_tweets>
  2. <ul class='liste-items'>
  3. <BOUCLE_tweets(DATA)
  4. {source twitter,search/tweets?q=%23spip}
  5. {datapath statuses}
  6. {pagination 10}>
  7. <li class='item tweet'>
  8. <img src='#VALEUR{user/profile_image_url}' style='float:right' />
  9. <a href='http://twitter.com/#VALEUR{user/screen_name}'>
  10. @[(#VALEUR{user/screen_name})] (#VALEUR{user/name})
  11. </a> :
  12. <q>#VALEUR{text}</q>
  13. </li>
  14. </BOUCLE_tweets>
  15. </ul>
  16. [<div class='pagination'>(#PAGINATION{precedent_suivant})</div>]
  17. </B_tweets>

Télécharger

Le résultat

Aucun résultat