Réponse de la requête JSONp à l'erreur youtube oembed call giving "invalid label"

je fais un appel JSONp à youtube en utilisant oEmbed et sur la réponse firebug donne "étiquette invalide" erreur

Voici mon code

site = "www.youtube.com";
url = "http://www.youtube.com/watch?v=slORb622ZI8";

$.getJSON("http://"+site+"/oembed?callback=?",{"format":"json","url":url},function(data){
    alert("hello:n"+data);
    alert(data.provider_url);
});

Quelqu'un a rencontré un problème similaire avec les requêtes osbed jsonp?

5
demandé sur Andy E 2010-08-24 00:11:35

2 réponses

problème

L'API YouTube ne supporte pas JSONP-voir:

Solution

il n'est pas nécessaire d'avoir un mandataire côté serveur et aucune clé API n'est requise.

au lieu de:

var url = "http://www.youtube.com/watch?v=slORb622ZI8";

$.getJSON("http://www.youtube.com/oembed?callback=?",
    {"format": "json", "url": url}, function (data) {
    alert("hello:\n"+data);
    alert(data.provider_url);
});

essayez ceci, en utilisant le service Noembed :

var url = "http://www.youtube.com/watch?v=slORb622ZI8";

$.getJSON("https://noembed.com/embed?callback=?",
    {"format": "json", "url": url}, function (data) {
    alert("hello:\n" + data);
    alert(data.provider_url);
});

comme bonus cela fonctionnera aussi avec les liens Vimeo lorsque vous changez url en:

var url = "https://vimeo.com/45196609";

et beaucoup d'autres supported sites .

Démo

Voir DÉMO sur JS Fiddle.

voir aussi

Voir aussi ces questions:

1
répondu rsp 2015-08-25 08:17:16

L'API Oembed de Youtube n'enroule pas actuellement la réponse JSON dans un rappel. JSONP n'est tout simplement pas compatible atm. et il semble que cela ne changera pas de sitôt: https://groups.google.com/forum/?fromgroups=#!topic / youtube-api-gdata/5KuXxlLK07g

voici un billet pour une demande de caractéristique liée: https://code.google.com/p/gdata-issues/issues/detail?id=4329

la solution la plus facile serait d'implémenter un petit proxy côté serveur pour faire les requêtes au nom du client.

0
répondu polarblau 2013-04-16 14:35:11