3 votes

API de contenu de la boîte : Le champ modified_at du dossier parent est-il mis à jour lors de la suppression d'un élément du dossier ?

Nous construisons une application, en utilisant le sdk Box .NET, pour afficher le contenu du compte Box d'un client. Notre outil de synchronisation utilise l'API de contenu Box pour récupérer des dossiers et des fichiers et construire un cache à partir de ces informations. Pour détecter si des changements ont eu lieu depuis la dernière synchronisation, nous comparons un champ modified_at de dossier.

Lors de l'insertion ou de la mise à jour d'un fichier, les champs modified_at du dossier parent sont mis à jour avec le bon horodatage.

Lors de la suppression d'un fichier, l'horodatage du dossier parent reste le même. S'agit-il d'un bug ou du comportement correct ?

Question sur le forum officiel : https://community.box.com/t5/Developer-Forum/Box-Content-API-Is-modified-at-field-of-parent-folder-updated/td-p/15335

1voto

Murtza Manzur Points 1166

Ceci est un problème connu, mais nous n'avons actuellement pas de date limite pour une correction. Voici une solution de contournement pour découvrir quels fichiers ont été récemment supprimés.

(1) Appelez l'API Events avec ces paramètres : "stream_type=admin_logs&event_type=delete". Cela renverra une liste des éléments qui ont été supprimés, ainsi que l'identifiant du dossier parent de chaque élément.

Demande d'exemple

curl "https://api.box.com/2.0/events?stream_type=admin_logs&event_type=delete" -H "Authorization: Bearer AUTH_TOKEN"

Réponse d'exemple

{
  "chunk_size": 1,
  "next_stream_position": "0000000000000000000",
  "entries": [
    {
      "source": {
        "item_type": "file",
        "item_id": "00000000000",
        "item_name": "example-file.txt",
        "parent": {
          "type": "folder",
          "name": "Nom du dossier exemple",
          "id": "0000000000"
        }
      },
      "created_by": {
        "type": "user",
        "id": "000000000",
        "name": "Nom de l'exemple",
        "login": "exemple@exemple.com"
      },
      "created_at": "2016-04-15T00:00:00-07:00",
      "event_id": "00000000-0000-0000-0000-000000000000",
      "event_type": "DELETE",
      "ip_address": "Adresse IP inconnue",
      "type": "événement",
      "session_id": null,
      "additional_details": {
        "version_id": "00000000000"
      }
    }
  ]
}

(2) Utilisez la prochaine position de flux retournée à l'étape 1 sur les appels ultérieurs pour obtenir les éléments supprimés après ce point.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X