{"id":10505,"date":"2015-03-27T11:37:52","date_gmt":"2015-03-27T10:37:52","guid":{"rendered":"http:\/\/flaven.fr\/?p=10505"},"modified":"2015-03-28T08:18:26","modified_gmt":"2015-03-28T07:18:26","slug":"youtube-api-requeter-lapi-youtube-dune-playlist","status":"publish","type":"post","link":"https:\/\/flaven.fr\/2015\/03\/youtube-api-requeter-lapi-youtube-dune-playlist\/","title":{"rendered":"Youtube, API &#8211; Requ\u00eater l&#8217;API youtube d&#8217;une playlist"},"content":{"rendered":"\n<p>Il y a eu un saut technologique important entre la V2 de l&#8217;API youtube et la V3. Cette \u00e9volution n&#8217;a d&#8217;ailleurs \u00e0 mon sens pas que des raisons technologiques mais aussi lucratives. On per\u00e7oit clairement  en d\u00e9couvrant la nouvelle interface, la volont\u00e9 affirm\u00e9e de Google, propri\u00e9taire de YouTube, de mon\u00e9tiser l&#8217;audience gigantesque et l&#8217;extreme popularit\u00e9 de cette plateforme.<\/p>\n<p>Paradoxalement, Google se montre assez &#8220;g\u00e9n\u00e9reux&#8221;. En effet, le seuil \u00e0 partir duquel vous allez devoir payer votre usage de l&#8217;API YouTube est relativement \u00e9lev\u00e9.<br \/>\nPour information, voici les donn\u00e9es affich\u00e9es concernant les quotas.<\/p>\n<p><b>R\u00e9sum\u00e9 des quotas<\/b><\/p>\n<ul>\n<li>Quota gratuit 50 000 000 unit\u00e9s\/jour<\/li>\n<li>Restant 50 000 000 unit\u00e9s\/jour 100 % du quota total<\/li>\n<li>Limite par utilisateur 3000 requ\u00eates par seconde et par utilisateur<\/li>\n<\/ul>\n<p><b>Pour jouer avec l&#8217;API V3, le sc\u00e9nario que nous avons retenu est de parcourir une playlist afin de r\u00e9cup\u00e9rer l&#8217;ensemble des videos de cette playlist.<\/b><\/p>\n<h4>Utiliser l&#8217;API V3<\/h4>\n<p>Le premier pr\u00e9-requis est de vous procurer une cl\u00e9 API. Cette cl\u00e9 vous l&#8217;obtiendrait en vous connectant \u00e0 la console de Google \u00e0 cette adresse :<a href=\"https:\/\/console.developers.google.com\/project\" target=\"_blank\">https:\/\/console.developers.google.com\/<\/a><\/p>\n<p><b>La cl\u00e9 API YouTube sera de cette forme <code>XQzwSyBRlqCrc89cMeChqoKF6lxBB9dKAeqH4og<\/code><\/b>. Bien \u00e9videmment, cette cl\u00e9 n&#8217;est donn\u00e9e qu&#8217;\u00e0 titre d&#8217;exemple.<\/p>\n<p>Une fois, cette cl\u00e9 obtenue, vous avez tout le loisir de passer des requ\u00eates directement dans votre navigateur favori.<\/p>\n<p><b>Un flux au format json d&#8217;une playlist issu de l&#8217;API YouTube. Il vous suffit de connaitre l&#8217;ID de la playlist. L&#8217;ID de playlist est de ce type <code>ALeL9jWxKt-lWw9Xk6wYcLrW98QagUs7vz<\/code><\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2015\/03\/youtube_tube_playlist_json_playlist_1.jpg\" alt=\"Youtube, API - Requ\u00eater l'API youtube d'une playlist\" width=\"640\" height=\"480\" \/><\/p>\n<p><b>La console pour obtenir le cl\u00e9 d&#8217;API<\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2015\/03\/youtube_tube_playlist_1.jpg\" alt=\"Youtube, API - Requ\u00eater l'API youtube d'une playlist\" width=\"640\" height=\"480\" \/><\/p>\n<p><b>Un dashboard de l&#8217;utilisation de vos quotas d&#8217;API<\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2015\/03\/youtube_tube_playlist_2.jpg\" alt=\"Youtube, API - Requ\u00eater l'API youtube d'une playlist\" width=\"640\" height=\"480\" \/><\/p>\n<p><b>Les fameux quotas<\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2015\/03\/youtube_tube_playlist_4.jpg\" alt=\"Youtube, API - Requ\u00eater l'API youtube d'une playlist\" width=\"640\" height=\"480\" \/><\/p>\n<p><b>L&#8217;\u00e9cran qui r\u00e9sume les \u00e9l\u00e9ments pour obtenir ou l&#8217;authentification ou la cl\u00e9 d&#8217;API.&#8217;<\/b><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2015\/03\/youtube_tube_playlist_6.jpg\" alt=\"Youtube, API - Requ\u00eater l'API youtube d'une playlist\" width=\"640\" height=\"480\" \/><\/p>\n<h4>Quelques requ\u00eates sur l&#8217;API V3<\/h4>\n<p>Pour m\u00e9moire, on parcourt une playlist qui nous procure les IDs des videos. Puis une deuxi\u00e8me requ\u00eate sur l&#8217;API \u00e0 l&#8217;aide des IDs nous permet d&#8217;avoir les d\u00e9tails de chaque video publi\u00e9 dans la playlist.<\/p>\n<p><b>Pour retourner les IDs des videos d&#8217;une playlist<\/b><br \/>\n<code>https:\/\/www.googleapis.com\/youtube\/v3\/playlistItems?part=contentDetails&maxResults=50&playlistId={YOUR_ID_PLAYLIST}&key={YOUR_API_KEY}<\/code><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2015\/03\/youtube_tube_playlist_json_playlist_2.jpg\" alt=\"Youtube, API - Requ\u00eater l'API youtube d'une playlist\" width=\"640\" height=\"480\" \/><\/p>\n<p><b>Pour retourner le d\u00e9tail d&#8217;une vid\u00e9o sur la base de l&#8217;ID <code>QTQfGd3G6dg<\/code><\/b><br \/>\nSur cette requ\u00eate, on appelle que le strict minimum, si vous souhaitez r\u00e9cup\u00e9rer tous les d\u00e9tails concernant la video, il vous faudra passer \u00e9tendre le crit\u00e8re <b>&#038;part=<\/b> comme suit <\/p>\n<p><code>&part=snippet,contentDetails,statistics,status<\/code><\/p>\n<p><code>https:\/\/www.googleapis.com\/youtube\/v3\/videos?key={YOUR_API_KEY}&part=snippet&id={ID_VID}<br \/>\n<\/code><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/flaven.fr\/wp-content\/uploads\/2015\/03\/youtube_tube_playlist_json_playlist_3.jpg\" alt=\"Youtube, API - Requ\u00eater l'API youtube d'une playlist\" width=\"640\" height=\"480\" \/><\/p>\n<p><i>Source : <a href=\"https:\/\/developers.google.com\/youtube\/v3\/getting-started\" target=\"_blank\">https:\/\/developers.google.com\/youtube\/v3\/getting-started<\/a><\/i> <\/p>\n<p><b>Conclusions :<\/b> Il est bien \u00e9videmment grand temps de passer \u00e0 l&#8217;API V3 et d&#8217;abandonner la version 3 annoncer comme &#8220;deprecated&#8221; tout en sachant que ce qui est aujourd&#8217;hui gratuit sera payant demain quant on voit la quantit\u00e9 de webservices que Google met \u00e0 disposition.<\/p>\n<h2>En savoir plus<\/h2>\n<ul>\n<li>YouTube Data API (v3) Code Samples<br \/><a href=\"https:\/\/developers.google.com\/youtube\/v3\/code_samples\/\" target=\"_blank\">https:\/\/developers.google.com\/youtube\/v3\/code_samples\/<\/a><\/li>\n<li>YouTube pour les d\u00e9veloppeurs en fran\u00e7ais<br \/><a href=\"https:\/\/developers.google.com\/youtube\/?hl=fr\" target=\"_blank\">https:\/\/developers.google.com\/youtube\/?hl=fr<\/a><\/li>\n<li>la console qui permet de gerber l&#8217;API Youtube et tous les autres webservices de Google.<br \/><a href=\"https:\/\/console.developers.google.com\/project\" target=\"_blank\">https:\/\/console.developers.google.com\/<\/a><\/li>\n<li>Les param\u00e8tres de requ\u00eate sur <code>Playlists: list<\/code><br \/><a href=\"https:\/\/developers.google.com\/youtube\/v3\/docs\/playlists\/list\" target=\"_blank\">https:\/\/developers.google.com\/youtube\/v3\/docs\/playlists\/list<\/a><\/li>\n<li>Une vid\u00e9o au hasard pour un exemple : Knights Who Say Ni<br \/><a href=\"https:\/\/www.youtube.com\/watch?v=QTQfGd3G6dg\" target=\"_blank\">https:\/\/www.youtube.com\/watch?v=QTQfGd3G6dg<\/a><\/li>\n<li>Un bon article pour tirer profit en PHP de l&#8217;API Youtube V3 &#8220;Use the YouTube API with PHP&#8221;<br \/><a href=\"http:\/\/www.ibm.com\/developerworks\/library\/x-youtubeapi\/\" target=\"_blank\">http:\/\/www.ibm.com\/developerworks\/library\/x-youtubeapi\/<\/a><\/li>\n<li>Pour les feignants, on peut se rabattre sur TubePress<br \/><a href=\"http:\/\/tubepress.com\/standalone_php_demo\/\" target=\"_blank\">http:\/\/tubepress.com\/standalone_php_demo\/<\/a><\/li>\n<li>Dynamic and interactive video features for websites<br \/><a href=\"https:\/\/github.com\/tubepress\/tubepress\" target=\"_blank\">https:\/\/github.com\/tubepress\/tubepress<\/a><\/li>\n<li>Using TubePress in PHP<br \/><a href=\"http:\/\/nextdocs.readthedocs.org\/en\/latest\/manual\/standalone-php\/usage.html\" target=\"_blank\">http:\/\/nextdocs.readthedocs.org\/en\/latest\/manual\/standalone-php\/usage.html<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Il y a eu un saut technologique important entre la V2 de l&#8217;API youtube et la V3. Cette \u00e9volution n&#8217;a d&#8217;ailleurs \u00e0 mon sens pas&hellip; <\/p>\n<p class=\"text-center\"><a href=\"https:\/\/flaven.fr\/2015\/03\/youtube-api-requeter-lapi-youtube-dune-playlist\/\" class=\"more-link\">Continue reading &rarr; <span class=\"screen-reader-text\">Youtube, API &#8211; Requ\u00eater l&#8217;API youtube d&#8217;une playlist<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":10513,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"bf_ai_meta_description":"Mastering YouTube API v3 for playlist requests unlocks vast data. Understand quotas, optimize usage, and leverage Google's generous free tier.","bf_ai_og_title":"","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[3439,3440,3444,3451],"tags":[410,2183,524,192,20,288,146,2153,134,183],"class_list":["post-10505","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-apis-integration","category-cloud-infrastructure","category-programming-databases","category-web-design-front-end","tag-aide","tag-api","tag-console","tag-json","tag-php","tag-playlist","tag-videos","tag-webservice","tag-youtube","tag-zend"],"jetpack_publicize_connections":[],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p3Vuhl-2Jr","jetpack_featured_media_url":"https:\/\/flaven.fr\/wp-content\/uploads\/2015\/03\/youtube_tube_playlist_b.jpg","_links":{"self":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/10505","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/comments?post=10505"}],"version-history":[{"count":10,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/10505\/revisions"}],"predecessor-version":[{"id":10526,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/posts\/10505\/revisions\/10526"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/media\/10513"}],"wp:attachment":[{"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/media?parent=10505"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/categories?post=10505"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flaven.fr\/happy-api\/wp\/v2\/tags?post=10505"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}