2016-03-21 10 views
0

verwenden, wenn die API Embedly wie diese In-Kontakt:Embedly API mit 404 reagiert, wenn mehrere URLs

$.getJSON('https://api.embedly.com/1/oembed?' + $.param({ 
    url: 'http://example.com/article-1', 
    key: "myapikey" 
})); 

ich die Einbettungsdaten. Aber wenn ich versuche, es zu tun mit mehreren URLs:

$.getJSON('https://api.embedly.com/1/oembed?' + $.param({ 
    urls: 'http://example.com/article-1,http://example.com/article-2,http://example.com/article-3', 
    key: "myapikey" 
})); 

Ich erhalte eine Fehlermeldung von der API, um die URL zu sagen wurde nicht gefunden:

[ 
    { 
     "url": "http://example.com/article-1,http://example.com/article-2,http://example.com/article-3", 
     "error_code": 404, 
     "error_message": "HTTP 404: Not Found", 
     "type": "error", 
     "version": "1.0" 
    } 
] 
+0

Mögliches Duplikat http://stackoverflow.com/questions/20148239/use-multiple-urls-with-getjson. Sie müssen separate $ .getJSON-Aufrufe vornehmen. – allu

+0

Nun, da die API korrekt reagiert, wenn nur eine URL angegeben wird, würden separate Aufrufe für jede URL funktionieren. Aber gemäß der [Dokumente einbetten] (http://docs.embed.ly/docs/oembed) werden mehrere URLs im selben API-Aufruf unterstützt und parallel verarbeitet, was eine Funktion ist, die ich nutzen möchte. –

+0

Sie haben Recht, es sollte funktionieren wie Sie beschrieben haben. Ich habe keine Anwendungsbeispiele gefunden. Haben Sie das jQuery-Plugin https://github.com/embedly/embedly-jquery ausprobiert? Dort sah ich eine Möglichkeit, mehrere URLs zu verwenden. – allu

Antwort

0

Versuchen:

var urls = [ 
    'http://example.com/article-1', 
    'http://example.com/article-2', 
    'http://example.com/article-3' 
].map(encodeURIComponent).join(','); 

$.getJSON('https://api.embedly.com/1/oembed?key=myapikey&urls='+urls) 
    .then(function(results){console.log(results)}) 
+0

Das funktioniert! Es scheint, dass die Anfrage einfach durch Verketten der Parameter mit der URL zu machen, so wie es funktioniert, aber es auf meine Art zu machen (wie in den Dokumenten gezeigt), funktioniert nicht. Die URL-Codierung und Beitritt habe ich bereits Server-Seite. Vielen Dank! –

Verwandte Themen