API Seesmic

Documentation API Seesmic

Seesmic est un service de partage de vidéos. Il est possible d’enregistrer ses vidéos directement sur le site (détection automatique de votre webcam) et de répondre à d’autres internautes ayant déjà posté des vidéos. Il suffit pour cela d’ouvrir un compte (procédure simple et rapide) et de se laisser guider.

Seesmic permet également d’intégrer son API afin de disposer de son service de vidéos (via un principe REST)  au sein même de votre site.

Cet article s’avère être une traduction de la documentation de cet API dont la version originale est disponible à cette adresse.
Pour prendre connaissance de l’historique de Seesmic, de ses conditions d’utilisation, des plugins disponibles (pour WordPress par exemple) ou voir d’autres liens utiles, vous pouvez vous rendre sur le wiki Seesmic.

Documentation de l’API Seesmic

Identification

  • L’authentification à l’API Seesmic se fait par un appel à l’url suivante:

http://api.seesmic.com/login/auth
L’appel à l’API

  • Cet appel se fait soit par un formulaire POST classique (application/x-www-form-urlencoded) soit par une chaîne de caractères passée en GET avec les paramètres cités ci-dessous:

Paramètres + username
Le username (de l’utilisateur, évidemment)
+ password
Un hash MD5 du username et du mot de passe de l’utilisateur
+ Exemple
Pour un utilisateur avec ‘geddylee’ pour username et ‘by-tor2112′ pour mot de passe,  le paramètre username sera ‘geddylee’ et le paramètre mot de passe sera le hash MD5 de ‘geddyleeby-tor2112′. (Notez qu’il n’y a pas de virgule entre le username et le password comme on en voit dans les authentifications HTTP basiques.)
Réponse de l’API

  • La réponse retourne un objet JSON ‘login’ avec ses propriétés. Cet ensemble de propriétés est une représentation JSON d’un objet avec notamment une propriété « success » indiquant la réussite de la connexion par un booléen, TRUE ou FALSE.
  • En cas de succès, cet objet contiendra 2 clés de session.

sid

La première clé de session pour les anciennes applications serveur — la valeur qui a toujours été renvoyée sur les appels d’API. De nombreux appels d’API n’ont plus besoin de ce paramètre (mais quelques uns encore).

session_id

La nouvelle clé de session pour les API et notamment l’API Web Seesmic. À l’heure actuelle, vous ne pourrez pas faire grand-chose avec, mais finalement, cette clé sera la clé de session définitive.

Exemple

Connexion réussie

{« login »:{« sid »: »FF4CDC84D25E3A672B531A0E2FFCD1C7″, »session_id »: »87df38165363d74b0a9f4b1964e161eg »,
« success »: »true »}}

Connexion échouée

{« login »:{« success »: »false », »reason »: »authentication_failed »}}

Seesmic, API REST

L’API Seesmic est conforme autant que possible au principe des API REST. Les URL utilisées pour les appels à l’API suivent toutes le même format et vous pouvez contrôler ce qu’est la valeur de retour en changeant l’extension de l’appel.

La liste de formats ci-dessous sont ceux actuellement supportés, le cas échéant, cela ne devrait tardé:

  • JSON
  • JS avec appel de retour
  • XML
  • Atom

Note: le chemin pour les appels à l’API est sensible à la casse!!! Les extensions doivent toutes être en minuscules. Des appels du type « un/appel/api.JSON » retournera une erreur 406 (non acceptable).

Tout appel à l’API qui exige (ou accepte) des informations supplémentaires devra fournir ces valeurs accompagnées du paramètre SID.
Le sid (optionnel) et l’ID de sécurité sont renvoyés par l’appel à la l’url  /login/auth.

Tout appel à l’API qui renvoie une liste (ou une collection) retourne les paramètres « offset » et « pagesize« :
offset (en option) – pour commencer le résultat à partir de telle page. La valeur par défaut est 0.
pagesize (en option) – le nombre d’objets à retourner. La valeur par défaut est 20. La valeur max est de 50.
Toutes les valeurs retournées sont renvoyés en tant que UTF-8.

Requêtes HTTP

Tous les appels à l’API Seesmic sont des requêtes en GET, sauf si elles ajoutent ou modifient des données. Si des données sont à ajouter, une requête en POST est requise.

JS callback = function

Les requêtes pour des données javascript retournent un objet JSON mais avec un content-type « application/javascript »,entourés de parenthèses et d’un nom de fonction de votre choix. Passez ce nom de fonction en tant que paramètre (par exemple, « callback = maFonctionDeRetour »).
Puisque la sortie JSON est formatée en JavaScript, vous n’avez pas à analyser ou à évaluer l’objet retourné dans votre fonction de rappel. Vous pouvez immédiatement accéder aux éléments de l’intérieur, comme si vous aviez passé un objet en paramètre à votre fonction de rappel.

Ces types de requêtes sont particulièrement utiles dans le code JavaScript côté client. Quand un appel XMLHttpRequest (appel AJAX) est utilisé pour récupérer des données au format JSON, les politiques de sécurité des navigateurs permettent seulement des requêtes du même domaine. Des données javascript accompagnées d’une fonction de retour permettent des requêtes entre différents domaines directement dans un bloc « < script > » sans avoir besoin d’un serveur proxy, comme ci-dessous:

La suite bientôt…