Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Box Content API : Is modified_at field of parent folder updated when deleting an item from folder?

Tags:

c#

.net

box

We are building an application, using Box .NET sdk, to display the content of a customer Box account. Our synchronisation tool use the Box content API to retrieve folders and files and build a cache from this information. To detect if changes have happened since last synchronisation, we compare a folder modified_at field.

When inserting or updating a file, the parent folder modified_at fields is updated to the correct timestamp.

When deleting a file, the parent folder timestamp stays the same. Is it a bug or the correct behavior ?

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

like image 962
Simon ML Avatar asked Jan 21 '26 12:01

Simon ML


1 Answers

This is a known issue, but we currently do not have a timeline on a fix. Here is a workaround to discover if what files have been recently deleted.

(1) Call the Events API with these parameters: "stream_type=admin_logs&event_type=delete". This will return a list of items that have been deleted, along with each item's parent folder id.

Example Request

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

Example Response

{
  "chunk_size": 1,
  "next_stream_position": "0000000000000000000",
  "entries": [
    {
      "source": {
        "item_type": "file",
        "item_id": "00000000000",
        "item_name": "example-file.txt",
        "parent": {
          "type": "folder",
          "name": "Example Folder Name",
          "id": "0000000000"
        }
      },
      "created_by": {
        "type": "user",
        "id": "000000000",
        "name": "Example Name",
        "login": "[email protected]"
      },
      "created_at": "2016-04-15T00:00:00-07:00",
      "event_id": "00000000-0000-0000-0000-000000000000",
      "event_type": "DELETE",
      "ip_address": "Unknown IP",
      "type": "event",
      "session_id": null,
      "additional_details": {
        "version_id": "00000000000"
      }
    }
  ]
}

(2) Use the next_stream_position returned in step 1 on subsequent calls to get the deleted items after that point.

like image 123
Murtza Manzur Avatar answered Jan 23 '26 02:01

Murtza Manzur



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!