1
 16

Appelez l'API du service

Pour exécuter une action sur collaboractor.com, vous envoyez simplement une requête HTTP à l'adresse https://collaboractor.com/api/v1 suivie du nom de l'action et d'une série de paramètres :

https://collaboractor.com/api/v1/action?login=abcdef&password=ABCDEF

Vous DEVEZ utiliser une connexion HTTPS pour garantir la confidentialité de votre code d'identification et de votre mot de passe, et implicitement, des fichiers échangés avec le service. Dans le cas contraire, la requête retourne un code HTTP 301 Moved Permanently. Le certificat du serveur a été signé par Let's Encrypt.

action vaut subscription, upload, edit, download ou delete, login et password sont votre code d'identification et votre mot de passe. Selon l'action, la requête est un GET ou un POST et plus de paramètres peuvent être nécessaires.

Votre code d'identification en 6 lettres minuscules est affiché en gras sur votre page d'accueil. Pour changer votre mot de passe, appuyez sur le bouton pour accéder à la configuration de votre compte dans la barre de menu.

IMPORTANT : Cochez l'option API  REST dans votre profil utilisateur pour autoriser les appels à l'API avec votre compte. Si vous ne cochez pas cette option, le service retourne l'erreur HTTP/1.1 403 Forbidden.

Essayez d'entrer https://collaboractor.com/api/v1/subscription?login=abcdef&password=ABCDEF dans la barre d'adresse de votre navigateur en remplaçant abcdef et ABCDEF par votre code d'identification et votre mot de passe.

IMPORTANT : N'oubliez pas d'effacer l'historique du navigateur après un test d'une URL avec votre code d'identification et votre mot de passe.

API

Tous les appels à l'API retournent soit un code d'erreur HTTP tel que HTTP/1.1 400 Bad Request, HTTP/1.1 401 Unauthorized, HTTP/1.1 403 Forbidden, HTTP/1.1 404 Not Found, HTTP/1.1 409 Conflict ou HTTP/1.1 500 Internal Error ou le code HTTP/1.1 200 OK avec comme contenu la représentation en text/plain d'une valeur ou aucun contenu.

Vous pouvez tout simplement utiliser une commande comme curl pour appeler collaboractor.com.

$ curl -D - -X GET "https://collaboractor.com/api/v1/subscription?login=abcdef&password=ABCDEF"

Tapez la commande suivante pour effacer l'historique du shell après un test d'une URL avec votre code d'identification et votre mot de passe :

$ history -c

Dans un programme, vous voudrez une fonction capable d'envoyer une requête HTTP à un serveur et de récupérer les données retournées. Pour exécuter les exemples en PHP, téléchargez les fichiers sendhttp.php et filemimetype.php de la librairie iZend et copiez-les dans l'espace de votre propre application.

Le fichier sendhttp.php définit les fonctions sendget et sendpost.

Lisez la page sendhttp de la documentation sur iZend pour plus de détails techniques.

sendget
sendpost
SYNOPSIS

sendget($url, $args, $options=false, $header=false)

sendpost($url, $args, $files=false, $base64=false, $options=false, $header=false)

DESCRIPTION

sendget envoie une requête GET à un serveur HTTP à l'adresse spécifiée par $url avec les paramètres dans $args.

sendpost retourne le document renvoyé par l'appel du service HTTP à l'adresse $url en POST avec les arguments $args et les pièces jointes $files encodées en base64 si $base64 vaut true.

sendget et sendpost acceptent une URL avec des paramètres (query string) qui doivent être échappés.

$url est une chaîne de caractères avec le format https://collaboractor.com/api/v1/actionaction désigne la fonction demandée telle que subscription.

$args est un tableau contenant la liste des valeurs des paramètres de la fonction appelée tel que array( 'login' => 'abcdef', 'password' => 'ABCDEF', ... ). NOTE : Les paramètres dans $args sont automatiquement échappés.

$files contient la liste des fichiers ajoutés en pièces jointes sous la forme d'un tableau associatif { 'docname' => {'name' => 'filename', 'type' => 'mimetype', 'tmp_name' => 'pathname'}, ... }. Ce paramètre est optionnel. Typiquement, il permet de passer un fichier transmis par une balise <input type="file" name="docname"... /> d'un formulaire HTML. Si $base64 est à true, les contenus des fichiers sont encodés en base64.

sendget et sendpost retournent un tableau contenant le code HTTP, l'en-tête et le corps du document renvoyés par le serveur ou false en cas d'erreur.

Le fichier filemimetype.php définit la fonction file_mime_type.

Lisez la page file_mime_type de la documentation sur iZend pour plus de détails techniques.

file_mime_type
SYNOPSIS

file_mime_type($file, $encoding=true)

DESCRIPTION

file_mime_type retourne le type MIME du fichier $file; e.g. text/plain. Si $encoding vaut true, file_mime_type ajoute l'encodage utilisé pour les caractères des données, e.g. text/plain; charset=utf-8. Le type MIME et le type d'encodage sont séparés par un ; (POINT-VIRGULE) suivi d'un caractère d'espacement (ESPACE).

EXEMPLE

En supposant que vous avez placé le fichier sendhttp.php dans le répertoire courant, lancez PHP en mode interactif, chargez la fonction sendget et appelez-la avec en argument l'URL https://collaboractor.com/api/v1/subscription et un tableau contenant votre code d'identification et votre mot de passe :

$ php -a
php > require_once 'sendhttp.php';
php > $r=sendget('https://collaboractor.com/api/v1/subscription', array('login' => 'abcdef', 'password' => 'ABCDEF'));
php > echo $r[0] == 200 ? $r[2] : 'HTTP ERROR ' . $r[0];
2022-12-31
php > quit
VOIR AUSSI

Vérifiez votre abonnement, Téléversez un document, Éditez un document

Commentaires

Votre commentaire :
[p] [b] [i] [u] [s] [quote] [pre] [br] [code] [url] [email] strip aide 2000

Entrez un maximum de 2000 caractères.
Améliorez la présentation de votre texte avec les balises de formatage suivantes :
[p]paragraphe[/p], [b]gras[/b], [i]italique[/i], [u]souligné[/u], [s]barré[/s], [quote]citation[/quote], [pre]tel quel[/pre], [br]à la ligne,
[url]http://www.izend.org[/url], [url=http://www.izend.org]site[/url], [email]izend@izend.org[/email], [email=izend@izend.org]izend[/email],
[code]commande[/code], [code=langage]code source en c, java, php, html, javascript, xml, css, sql, bash, dos, make, etc.[/code].