J'essaie donc d'obtenir des informations à partir d'une seule vidéo youtube via au format JSON. Comme la catégorie de description du titre, ect tout ce que je peux obtenir en plus des commentaires. J'essaie de le faire en Javascript. J'ai remarqué le lien ci-dessous, mais tous leurs exemples montrent comment obtenir des informations vidéo à partir de flux. Je voudrais obtenir les informations d'une seule vidéo en supposant que je connaisse son ID.
https://developers.google.com/youtube/2.0/developers_guide_json
Je regardais également ce Stackoverflow Question mais j'ai un problème avec la demande get, il dit "test.js (ligne 10) GET http://gdata.youtube.com/feeds /api/videos/VA770w...v=2&alt=json-in-script&callback=listInfo
200 OK 9ms "
En bref, si j'ai un seul identifiant de vidéos YouTube comme VA770wpLX-Q, à quoi ressemblerait l'URL pour obtenir les informations de ces vidéos en JSON?
Merci
MISE À JOUR MAI/2015:
Cette solution ne fonctionne pas correctement, l'API YouTube v2 est en cours de suppression sous peu.
Plus d'informations sur: https://www.youtube.com/devicesupport
Essayez quelque chose comme ceci:
var video_id='VA770wpLX-Q';
$.getJSON('http://gdata.youtube.com/feeds/api/videos/'+video_id+'?v=2&alt=jsonc',function(data,status,xhr){
alert(data.data.title);
// data contains the JSON-Object below
});
Démo: http://jsfiddle.net/wqwxg/
Le JSON retourné ressemble à ceci:
{
"apiVersion": "2.1",
"data": {
"id": "VA770wpLX-Q",
"uploaded": "2011-02-24T22:31:02.000Z",
"updated": "2012-04-08T21:37:06.000Z",
"uploader": "drdrevevo",
"category": "Music",
"title": "Dr. Dre - I Need A Doctor (Explicit) ft. Eminem, Skylar Grey",
"description": "Music video by Dr. Dre performing I Need A Doctor featuring Eminem and Skylar Grey (Explicit). © 2011 Aftermath Records",
"tags": ["Dr", "Dre", "Eminem", "New", "Song", "Skylar", "Grey", "GRAMMYs", "Dr.", "Need", "Doctor", "video", "Eazy", "N.W.A.", "NWA", "easy", "drdre", "and", "em"],
"thumbnail": {
"sqDefault": "http://i.ytimg.com/vi/VA770wpLX-Q/default.jpg",
"hqDefault": "http://i.ytimg.com/vi/VA770wpLX-Q/hqdefault.jpg"
},
"player": {
"default": "http://www.youtube.com/watch?v=VA770wpLX-Q&feature=youtube_gdata_player"
},
"content": {
"5": "http://www.youtube.com/v/VA770wpLX-Q?version=3&f=videos&app=youtube_gdata"
},
"duration": 457,
"aspectRatio": "widescreen",
"rating": 4.902695,
"likeCount": "430519",
"ratingCount": 441253,
"viewCount": 88270796,
"favoriteCount": 306556,
"commentCount": 270597,
"status": {
"value": "restricted",
"reason": "requesterRegion"
},
"restrictions": [{
"type": "country",
"relationship": "deny",
"countries": "DE"
}],
"accessControl": {
"comment": "allowed",
"commentVote": "allowed",
"videoRespond": "allowed",
"rate": "allowed",
"embed": "allowed",
"list": "allowed",
"autoPlay": "denied",
"syndicate": "allowed"
}
}
}
MISE À JOUR 2018
API v2 déconseillée. La nouvelle API YouTube v3 ne fonctionne qu'avec le jeton de développeur et est limitée pour les connexions gratuites.
Vous pouvez obtenir JSON sans API:
http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v=ojCkgU5XGdg&format=json
Ou xml
http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v=ojCkgU5XGdg&format=xml
nouvelle réponse json 2018 a
{
"html": "<iframe width=\"480\" height=\"270\" src=\"https://www.youtube.com/embed/ojCkgU5XGdg?feature=oembed\" frameborder=\"0\" allow=\"autoplay; encrypted-media\" allowfullscreen></iframe>",
"title": "Creativity and Drugs (Eng Sub)",
"thumbnail_height": 360,
"provider_name": "YouTube",
"author_url": "https://www.youtube.com/user/serebniti",
"thumbnail_width": 480,
"height": 270,
"provider_url": "https://www.youtube.com/",
"type": "video",
"width": 480,
"version": "1.0",
"author_name": "serebniti",
"thumbnail_url": "https://i.ytimg.com/vi/ojCkgU5XGdg/hqdefault.jpg"
}
Pouces:
hqdefault.jpg
a moins de qualité mais existe toujours.
http://img.youtube.com/vi/ojCkgU5XGdg/hqdefault.jpg
http://img.youtube.com/vi/ojCkgU5XGdg/sddefault.jpg
Taille max
https://i.ytimg.com/vi/ojCkgU5XGdg/maxresdefault.jpg
Mini pouces:
http://img.youtube.com/vi/ojCkgU5XGdg/0.jpg
http://img.youtube.com/vi/ojCkgU5XGdg/1.jpg
http://img.youtube.com/vi/ojCkgU5XGdg/2.jpg
http://img.youtube.com/vi/ojCkgU5XGdg/3.jpg
Annotations
http://www.youtube.com/annotations_invideo?cap_hist=1&video_id=ojCkgU5XGdg
analyser la page mobile 16kb
https://m.youtube.com/watch?v=ojCkgU5XGdg
n'oubliez pas de changer l'agent utilisateur en iOS / Safari 7
aussi
http://www.youtube.com/get_video_info?html5=1&video_id=ojCkgU5XGdg
aussi comment intégrer youtube en direct
https://www.youtube.com/embed/live_stream?channel=UCkA21M22vGK9GtAvq3DvSlA
Où UCkA21M22vGK9GtAvq3DvSlA est votre identifiant de canal. Vous pouvez le trouver dans le compte youtube sur le lien "Ma chaîne".
pouce en direct
https://i.ytimg.com/vi/W-fSCPrYSL8/hqdefault_live.jpg
L'API YouTube ne prend pas en charge JSONP comme il se doit - voir problème 4329: rappel oEmbed pour JSONP . Aussi, YouTube Data API v2 est obsolète .
Vous pouvez utiliser le service Noembed pour obtenir des données oEmbed avec JSONP pour les vidéos YouTube.
Pour votre VA770wpLX-Q
vidéo, vous pouvez essayer un lien comme celui-ci:
https://noembed.com/embed?url=http://www.youtube.com/watch?v=VA770wpLX-Q
Ou ceci pour JSONP:
https://noembed.com/embed?callback=example&url=http://www.youtube.com/watch?v=VA770wpLX-Q
Ces liens ont une URL standard d'une vidéo YouTube transmise en tant que paramètre url
. Cela fonctionne non seulement avec YouTube mais aussi avec Vimeo et autres sites avec des URL comme:
https://noembed.com/embed?url=https://vimeo.com/45196609
Voici un exemple simple utilisant jQuery:
var id = 'VA770wpLX-Q';
var url = 'https://www.youtube.com/watch?v=' + id;
$.getJSON('https://noembed.com/embed',
{format: 'json', url: url}, function (data) {
alert(data.title);
});
Voir: [~ # ~] démo [~ # ~] sur JS Bin.
Voir aussi ces questions:
en v3:
$.getJSON('https://www.googleapis.com/youtube/v3/videos?id={videoId}&key={myApiKey}&part=snippet&callback=?',function(data){
if (typeof(data.items[0]) != "undefined") {
console.log('video exists ' + data.items[0].snippet.title);
} else {
console.log('video not exists');
}
});
En réponse, un @Jonathan via le serveur, en utilisant PHP et CURL:
$url = "https://www.googleapis.com/youtube/v3/videos?id=".$videoId."&key=".$miApikey."&part=snippet";
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$url);
$output=curl_exec($ch);
$response = json_decode($output, TRUE);
print_r($response);