3

Téléchargez un document

download

GET https://collaboractor.com/api/v1/download/file?login=&password=&lang=

file est le nom du fichier dans votre espace personnel à télécharger.

loginVotre code d'identification.
passwordVotre mot de passe.
$ curl -X GET "https://collaboractor.com/api/v1/download/file_sample_500kB.doc"?login=abcdef&password=ABCDEF" > file_sample_500kB.doc

Si le nom du fichier est invalide, le service retourne l'erreur HTTP/1.1 400 Bad Request.

Si aucun fichier n'a le nom spécifié dans votre espace personnel, le service retourne l'erreur HTTP/1.1 404 Not Found.

Téléchargez le code de la fonction sendget de la librairie iZend. Copiez le fichier dans l'espace de votre application.

NOTE : Reportez-vous à la page Appelez l'API du service pour une description de la fonction sendget.

Ajoutez le fichier filedownload.php avec le contenu suivant :

  1. require_once 'sendhttp.php';

Charge le code de la fonction sendget.

  1. function file_download($login, $password, $filename) {

Définit la fonction file_download. $login est votre code d'identification. $password est votre mot de passe. $filename est le nom du fichier à télécharger.

  1.     $curl = 'https://collaboractor.com/api/v1/download/' . urlencode($filename);

Met $curl à l'URL de l'action download avec le nom du fichier à télécharger.

  1.     $args = array(
  2.         'login'     => $login,
  3.         'password'  => $password,
  4.     );

Prépare la liste des arguments du GET : le code d'identification et le mot de passe du compte de l'utilisateur.

  1.     $response=sendget($curl, $args);

Envoie la requête HTTP avec sendget.

  1.     if (!$response or $response[0] != 200) {
  2.         return false;
  3.     }

Si $response vaut false, le serveur est inaccessible. Si $response[0] ne contient pas le code de retour HTTP 200 Ok, une erreur d'exécution s'est produite. En cas d'erreur, file_download retourne false.

  1.     return file_put_contents($filename, $response[2]);
  2. }

Sauve le document dans un fichier du même nom dans le répertoire courant. Retourne true si le fichier a bien été créé, sinon false.

EXEMPLE

En supposant que vous avez sauvé les fichiers sendhttp.php et filedownload.php dans le répertoire courant, lancez PHP en mode interactif, chargez la fonction file_download et appelez-la avec en arguments votre code d'identification et votre mot de passe, le nom du fichier à télécharger :

$ php -a
php > require_once 'filedownload.php';
php > echo file_download('abcdef', 'ABCDEF', 'file_sample_500kB.doc') ? 'Ok' : 'Ko';
Ok
php > quit

Vérifiez le document :

$ libreoffice file_sample_500kB.doc 

NOTE : Si file_download retourne false, éditez le code pour afficher $response.

VOIR AUSSI

Appelez l'API du service, Téléversez un document, Supprimez 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].