Ce document présente les étapes initiales qui permettront de faire vos premiers pas avec l'API médias et les requêtes ActionScript. Ce document suppose que vous connaissez le langage de programmation ActionScript et que vous connaissez les restrictions de sécurité inter-domaines imposées par Flash face aux requêtes HTTP émanant d'ActionScript. Nos serveurs disposent d'un fichier de stratégie permettant les appels inter-domaines. Voici d'autres éléments à passer en revue avant de continuer :
Meilleures pratiques en matière de sécurité. L'utilisation d'ActionScript pour accéder à l'API médias comporte un certain nombre de risques et d'inconvénients. La sécurité des clés est un élément déterminant. Lorsqu'il accède à votre clé, le pirate accède aussi à votre bibliothèque de contenus et, dans certains cas, il peut lire votre contenu à votre insu. Avec ActionScript, votre clé est compilée dans le SWF, mais elle peut être extraite par un pirate lorsqu'il décompile votre code source. Consultez le document relatif aux meilleures pratiques sur la sécurité des clés pour en savoir plus.
Meilleures pratiques en matière de SEO. Les requêtes ActionScript vous empêchent de profiter des avantages de la SEO qu'offre l'API médias pour intégrer les métadonnées à vos pages. Les robots des moteurs de recherche n'exécutent pas les applications Flash. Consultez le document sur les meilleures pratiques en matière de SEO avec l'API médias.
L'introduction de requêtes HTTP en Flash est plus facile à l'aide de la catégorie LoadVars dans ActionScript 2 ou la catégorie URLLoader dans ActionScript 3. ActionScript assure la gestion de la requête et de la réponse. Le système vous avertit quand les résultats sont prêts. Voici un exemple pour AS2 :
// créer la requête
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) {
// gérer les résultats
}
lv.load(url);
Voici un exemple pour AS3 :
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) {
// analyser les résultats
}
function loaderCompleteHandler(evt:Event) {
// analyser les résultats
}
Dans les deux cas, observez comment la méthode API médias est appelée. La forme de l'appel de la méthode de lecture est la suivante :
<URL>?command=<method_name>&<arguments>=<values>&token=<API_token>
L'URL de tous les appels API Media Read de Brightcove est http://api.brightcove.com/services/library. L'URL der tous les appels API Media Write de Brightcove est http://api.brightcove.com/services/post. Dans cet exemple, la méthode est find_all_videos. Dans les paramètres de la requête, l'argument video_fields est intégré. Il indique à find_all_videos quels champs sont nécessaires dans l'objet retourné et la valeur de la clé API.
ActionScript 3 ne prend pas en charge d'emblée JSON. Pour gérer les modules JSON, il est nécessaire d'intégrer la bibliothèque as3core qui peut être téléchargée sur Github. Consultez la rubrique Accès à l'API médias à partir de Flex dans AS3 pour obtenir un exemple exploitant as3corelib.