8

Éditez un document

edit

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

file est le nom du fichier dans votre espace personnel à éditer.

loginVotre code d'identification.
passwordVotre mot de passe.
langLangue de l'interface de l'éditeur.

lang - langue de l'éditeur, un code de 2 lettres minuscules, e.g. fr ou en.

$ curl -X GET "https://collaboractor.com/api/v1/edit/file_sample_500kB.doc"?login=abcdef&password=ABCDEF&lang=fr" > edit_sample_500kB.html

Affichez le code HTML du document :

$ cat edit_sample_500kB.html

Si le nom du fichier ou le code de la langue 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.

POST https://collaboractor.com/api/v1/edit?login=&password=&lang=

loginVotre code d'identification.
passwordVotre mot de passe.
langLangue de l'interface de l'éditeur.
multipart/form-data
fileContenu du document en binaire.

lang - langue de l'éditeur, un code de 2 lettres minuscules, e.g. fr ou en.

$ curl -X POST "https://collaboractor.com/api/v1/edit?login=abcdef&password=ABCDEF&lang=fr" -F "file=@file_sample_500kB.doc;type=application/msword" > edit_sample_500kB.html

NOTE : Utilisez une commande comme file -ib file_sample_500kB.doc pour obtenir le type MIME du fichier en paramètre de l'argument file.

Affichez le code HTML du document :

$ cat edit_sample_500kB.html

Si le nom du fichier ou le code de la langue est invalide ou si le type de fichier spécifié n'est pas géré ou si la taille du fichier est supérieure à la taille maximale d'un fichier dans votre espace personnel, le service retourne l'erreur HTTP/1.1 400 Bad Request.

Si le nombre de fichiers sans votre espace personnel a atteint la limite autorisée, le service retourne l'erreur HTTP/1.1 403 Forbidden.

Si un fichier avec le même nom existe déjà dans votre espace personnel, le service retourne l'erreur HTTP/1.1 409 Conflict.

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 fileedit.php avec le contenu suivant :

  1. require_once 'sendhttp.php';

Charge le code de la fonction sendget.

  1. function file_edit($login, $password, $filename, $lang='en') {

Définit la fonction file_edit. $login est votre code d'identification. $password est votre mot de passe. $filename est le nom du fichier à éditer. $lang spécifie dans quelle langue l'éditeur doit être affiché.

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

Met $curl à l'URL de l'action edit avec le nom du fichier à éditer.

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

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

  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_edit retourne false.

  1.     return $response[2];
  2. }

Retourne un document HTML complet contenant un formulaire qui est automatiquement envoyé au service qui retourne l'éditeur qui est affiché pleine page dans un <iframe>.

EXEMPLE

Le document HTML avec l'éditeur retourné par le service peut être obtenu par le serveur d'un autre site web, de préférence à la suite d'une interaction d'un utilisateur, et renvoyé au navigateur par une simple action en réponse à un GET qui peut vérifier si l'utilisateur est identifié, envoyé une requête au service avec l'identifiant et le mot de passe de l'utilisateur, le nom du fichier à éditer, vérifier la réponse du service et retourner le document HTML qui intégrera l'éditeur dans un <iframe> que le navigateur peut afficher pleine page dans une nouvelle fenêtre.

Adaptez la fonction suivante à votre environnement de développement :

  1. require_once 'sendhttp.php';
  2.  
  3. function collabora() {
  4.     $login='abcdef';
  5.     $password='ABCDEF';
  6.     $file='file_example_PPT_250kB.ppt';
  7.     $lang='fr';
  8.  
  9.     $curl = 'https://collaboractor.com/api/v1/edit/' . urlencode($file);
  10.  
  11.     $args = array(
  12.         'login'     => $login,
  13.         'password'  => $password,
  14.         'lang'      => $lang,
  15.     );
  16.  
  17.     $response=sendget($curl, $args);
  18.  
  19.     if (!$response or $response[0] != 200) {
  20.         header('HTTP/1.1 500 Internal Error');
  21.     }
  22.     else {
  23.         header('HTTP/1.1 200 OK');
  24.         header('Cache-Control: no-cache');
  25.  
  26.         echo $response[2];
  27.     }
  28. }

NOTE : Dans une implémentation réelle, l'identification de l'utilisateur doit être vérifiée, les paramètres $login et $password sont lus dans la session ou dans une base de données et le nom du fichier à éditer peut être récupéré dans l'URL.

Pour exécuter l'éditeur dans votre site web, essayez un simple bouton qui lorsqu'il est cliqué appelle la fonction window.open du navigateur avec en argument l'URL qui répond au GET par votre implémentation de la fonction collabora avec le nom du fichier à éditer dans l'URL.

  1. <p><input type="submit" class="submit" id="btn_collabora_edit" value="Éditer" /></p>
  2. <script>
  3. document.getElementById('btn_collabora_edit').onclick = () => window.open('/collabora/file_example_PPT_250kB.ppt');
  4. </script>
VOIR AUSSI

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