Script de rangement
-
Bonjour,
Difficile de vous aiguiller de manière précise sans plus de précisions, mais s'il s'agit d'aller classer de manière automatisée des documents des emplacements prédéterminés, il est toujours possible d'utiliser l'endpoint de notre API qui permet de modifier les emplacements d'un document : https://gofast-docs.readthedocs.io/en/latest/docs-gofast-development/api-rest.html#id5
Par exemple j'ai le document suivant :
qui d'après l'URL a le n°586 et le fil d'Ariane est rangé dans "/Sites/_Extranet/_Beaucoup de tests on lieu ici".
Je fais la requête suivante :
et les 2 nouveaux emplacements lui sont ajoutés :
Mais je souhaite aussi supprimer l'emplacement d'origine, ce qui fait une 2ème requête :
Il est probable que vous deviez utiliser le même endpoint mais en GET pour récupérer les emplacements actuels d'un document avant de les modifier.
En vous souhaitant une bonne fin de journée,
Raphaël. -
Vous pouvez faire des appels API depuis n'importe quel langage de programmation.
En bash et PHP vous pouvez utiliser curl, en JS vous pouvez utiliser fetch. En Java il y a le paquet HttpUrlConnection. Et en Python il y a le http.client : https://docs.python.org/3/library/http.client.html
Par exemple pour la requête du premier exemple, où l'utilisateur "adm" veut ajouter au document n°586 l'emplacement de son espace personnel, en curl on aurait ceci :
curl -X POST -H "Content-Type: application/json" -d '{"nid": 586, "locations": ["/Sites/_adm"]}' -u "adm:mypassword" http://gofast-demo.ceo-vision.com/api/node/locationset en python on aurait quelque chose comme ça (pas du tout expert en python donc possiblement approximatif) :
import http.client import json # Set the request parameters url = "gofast-demo.ceo-vision.com" endpoint = "/api/node/locations" payload = {"nid": 586, "locations": ["/Sites/_adm"]} headers = {"Content-Type": "application/json"} username = "adm" password = "mypassword" # Encode the username and password in base64 auth = f"{username}:{password}" encoded_auth = auth.encode("utf-8") b64_auth = base64.b64encode(encoded_auth).decode("utf-8") # Create an HTTP connection conn = http.client.HTTPConnection(url) # Make the POST request conn.request("POST", endpoint, json.dumps(payload), headers={"Authorization": f"Basic {b64_auth}", **headers}) # Get the response response = conn.getresponse() # Print the response status and body print(f"Response Status: {response.status} {response.reason}") print("Response Body:") print(response.read().decode("utf-8")) # Close the connection conn.close()
bref, tous les chemins mènent à Rome
Bien à vous,
Raphaël.