2013-07-22 14 views
7

Ich versuche zu finden, um den eingebetteten Link für ein Instagram-Video programmgesteuert zu erhalten. Leider scheint der oEmbed-Endpunkt von Instagram Videos als Fotos zu behandeln und gibt nur das Schlüsselbild zurück, statt einen eingebetteten Link bereitzustellen.Rufen Sie Instagram-Video einbetten URL aus API

Kennt jemand eine Möglichkeit, den eingebetteten Link für ein Instagram-Video abzurufen, ohne die Seite für dieses Video manuell aufrufen zu müssen?

Antwort

9

Nach Instagram's API site eine GET/Medium/Medien-ID Anfrage für ein Video-Objekt zurückgibt ein JSON-Objekt mit den Informationen, die Sie in „data.videos.low_resolution.url“ benötigen.

ich das Video erfolgreich eingebettet in ihrer Musteranforderung in eine Web-Seite mit dem folgenden Code zurückgegeben:

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <meta charset="utf-8"> 
    <title>Video Embed Test</title> 
    </head> 
    <body> 
    <video width="480" height="480" controls> 
    <source src="http://distilleryvesper9-13.ak.instagram.com/090d06dad9cd11e2aa0912313817975d_102.mp4" 
     type="video/mp4"/> 
    </video> 
    </body> 
</html> 
+0

ich vorher nicht bemerkt hatte, dass der '/ embed /' URL wurde mit nur Video HTML5, nicht ein Flash einbetten oder irgendetwas. Das ist also definitiv eine angemessene und flexiblere Lösung als die, die ich gefunden habe. –

5

war ich nicht in der Lage, einen Weg zu finden, um die Einbettungs URL abrufen, jedoch auf das bettet untersuchen, die Instagram bietet, konnte ich, wie Sie feststellen, es zu erzeugen auf der Grundlage der Informationen, die von dem Medien-API-Endpunkt bereitgestellt . Im Grunde müssen Sie nur /embed/ an das Ende der kurzen URL für das Stück Medien anhängen. So wäre es so etwas in einer Django-Vorlage aussehen:

<iframe src="{{ media.short_link }}embed/" width="612" height="710" frameborder="0" scrolling="no" allowtransparency="true"></iframe> 

Als interessante Randnotiz, entdeckte ich auch, dass Sie die Breite und Höhe in den Einbettungscode ändern können, und es funktioniert ohne Probleme (zumindest wenn du nur die Dimensionen halbiert hast, habe ich nichts anderes versucht).

Verwandte Themen