Créer dossier API Rest

Topic created · 5 Posts · 14 Views
  • Bonjour,

    Dans le cadre d'une application de gestion de convention j'envoie vers GoFast grâce à l'API Rest les fichiers de convention.

    Mais j'aimerais que ces fichiers soit rangés dans des dossiers correspondant à l'année de la convention. Afin de ne pas créer plusieurs dossiers à l'avance et de pouvoir le faire automatiquement est-il possible de créer des dossiers via l'API Rest ?

    Cordialement,

    Comte Clément

  • Des Dossiers ou des Espaces ?

    Si je suppose que vous utilisez Python :

    Pour les dossiers , un acces webdav avec le package Webdav3 peut fonctionner du style :

    from webdav3.client import Client
    WDoptions = {
    'webdav_hostname': "https://" + GFServer,
    'webdav_login': UsrLogin,
    'webdav_password': UsrPass,
    'verbose': True
    }
    WDclient = Client(WDoptions)
    WDclient.verify = False

    WDclient.mkdir('/alfresco/webdav/Sites/_Groups/Scans/Cpta/' + trigMag + '/' + trigMag + '_Cpta_FraisG/10-A_Traiter_Cpta')

    Pour les espaces l'api est utilisable en s'inspirant de l'exemple ci dessous
    def create_subspace(server, authent, mere, fille):
    headers = {'Content-Type': "application/json", 'Authorization': "Basic " + authent}
    url = "https://" + server + "/api/space/space"
    data = {'gid': mere, 'title': fille}
    print("create_subspace\t\t", server, " ", fille)
    if bShowOnly == True:
    # print (headers)
    return (1)
    else:
    # print ("create_subspace\t\tlancement requests.put",server,authent, mere,fille)
    content = json.loads(requests.put(url, data=json.dumps(data), headers=headers, verify=False).text)
    print("Message")
    print(content)
    return content['gid']
    return (0)

  • C'est bien des Dossiers et non des Espaces dont j'ai besoin.

    La première solution est donc ce que je recherchais 🙂 elle fonctionne très bien.

    Je n'ai plus qu'à la traduire en Java

    Merci beaucoup.

  • Votre code de publication de documents via l'api m'intéresse.... si vous pouvez le poster....

  • Pour envoyer un fichier j'utilise Java et ce n'est pas moi qui est fait ce code, mais il reprend le code fourni sur cette page : https://blog.cpming.top/p/httpurlconnection-multipart-form-data

    Utilisé comme suit :

    try {
        	    // Set header
        	    Map<String, String> headers = new HashMap<>();
        	    String basicAuth = Base64.getEncoder().encodeToString((goFastLogin+":"+goFastPassword).getBytes());
        	    headers.put("Authorization", "Basic "+basicAuth);
    	    logger.info("Conexion à go fast");
        	    HttpPostMultipart multipart = new HttpPostMultipart("https://gofasturl/api/node/node", "utf-8", headers);
        	    // Add form field
        	    multipart.addFormField("type", "alfresco_item");
        	    multipart.addFormField("title", nomFichier);
        	    multipart.addFormField("locations", "[\"" + Path + "\"]"); 
        	    // Add file
        	    multipart.addFilePart("file", fichier, nomFichier);
        	    // Print result
    	    logger.info("Envoie du fichier");
        	    String response = multipart.finish();
        	    return response;
    } catch (IOException e) {
    	   e.printStackTrace();
    }
    
Log in to reply