Dieses Dokument enthält eine Einführung in Medien-API-Abfragen mit ActionScript. In diesem Dokument wird vorausgesetzt, dass Sie mit der ActionScript-Programmiersprache vertraut sind und die domänenübergreifenden Sicherheitseinschränkungen kennen, die Flash für in ActionScript ausgeführte HTTP-Anforderungen vorsieht. Auf unseren Servern befindet sich eine Richtliniendatei, die domänenübergreifende Aufrufe ermöglicht. Lesen Sie auch die folgenden Dokumente, bevor Sie fortfahren:
Leitfaden zur Sicherheit. Die Verwendung von ActionScript zum Zugriff auf die Medien-API birgt einige nicht zu unterschätzende Risiken und Nachteile. Hauptsächlich betrifft dies die Token-Sicherheit. Haben Hacker Zugriff auf Ihr Token, können sie auf Ihre Contentbibliothek zugreifen und in manchen Fällen Ihren Content ohne Ihr Wissen abspielen. In ActionScript ist Ihr Token in die SWF kompiliert, kann aber von Hackern durch Dekompilieren des Quellcodes extrahiert werden. Weitere Informationen finden Sie in diesem Leitfaden zur Token-Sicherheit.
Leitfaden zur SMO. Bei ActionScript-Anforderungen verzichten Sie auf die Vorteile der Suchmaschinenoptimierung (SMO), die die Medien-API durch Einbinden von Metadaten in Ihre Seiten bietet. Suchmaschinencrawler führen keine Flash-Anwendungen aus. Weitere Informationen finden Sie in diesem Leitfaden zur SMO mithilfe der Medien-API.
HTTP-Anforderungen lassen sich in Flash am einfachsten über die LoadVars-Klasse in ActionScript 2 bzw. die URLLoader-Klasse in ActionScript 3 durchführen. ActionScript verarbeitet die Anforderung und die Antwort und informiert Sie, wenn die Ergebnisse zur Verfügung stehen. AS2-Beispiel:
// Anforderung erstellen
var url:String = "http://api.brightcove.com/services/library?command=find_all_videos
&video_fields=id,name,referenceId&token=BMkaixIhjbhxfa5ATEGTzXm9CrmR8urXRDr9o7bbc64.";
var lv:LoadVars = new LoadVars();
lv.onLoad = function (success:Boolean) {
// Ergebnisse verarbeiten
}
lv.load(url);
AS3-Beispiel:
var loader:URLLoader;
var url:String = "http://api.brightcove.com/services/library?command=find_all_videos
&video_fields=id,name,referenceId&token=BMkaixIhjbhxfa5ATEGTzXm9CrmR8urXRDr9o7bbc64.";
var request:URLRequest = new URLRequest(url);
loader = new URLLoader();
loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
try {
loader.load(request);
}
catch (error:SecurityError)
{
trace("A SecurityError has occurred.");
}
function errorHandler(evt:Event) {
// Ergebnisse parsen
}
function loaderCompleteHandler(evt:Event) {
// Ergebnisse parsen
}
Achten Sie in beiden Fällen darauf, wie die Medien-API-Methode aufgerufen wird. Die Lesemethode wird in folgender Form aufgerufen:
<URL>?command=<method_name>&<arguments>=<values>&token=<API_token>
Die URL für alle Aufrufe der Brightcove Medien-Lese-API ist http://api.brightcove.com/services/library. Die URL für alle Aufrufe der Brightcove Medien-Schreib-API ist http://api.brightcove.com/services/post. In diesem Beispiel wird die find_all_videos-Methode verwendet. In den Abfrageparametern übergeben wir das video_fields-Argument, das der find_all_videos-Methode mitteilt, welche Felder im Rückgabeobjekt enthalten sein sollen, und den Wert des API-Tokens.
ActionScript 3 bietet keine native Unterstützung für JSON. Ein übliches Verfahren zur JSON-Verarbeitung ist die as3core-Bibliothek, die Sie unter Github herunterladen können. Ein Beispiel zur Verwendung der as3core-Bibliothek finden Sie unter Zugriff auf die Medien-API in Flex mithilfe von AS3.