Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 框内容API:从文件夹中删除项目时,父文件夹字段的“修改”是否已更新?_C#_.net_Box - Fatal编程技术网

C# 框内容API:从文件夹中删除项目时,父文件夹字段的“修改”是否已更新?

C# 框内容API:从文件夹中删除项目时,父文件夹字段的“修改”是否已更新?,c#,.net,box,C#,.net,Box,我们正在使用Box.NETSDK构建一个应用程序,以显示CustomerBox帐户的内容。我们的同步工具使用Box content API检索文件夹和文件,并根据这些信息构建缓存。为了检测自上次同步以来是否发生了更改,我们在字段中比较了一个修改的文件夹 插入或更新文件时,父文件夹modified_at字段将更新为正确的时间戳 删除文件时,父文件夹时间戳保持不变。这是错误还是正确的行为 官方论坛问题:这是一个已知问题,但我们目前没有修复的时间表。下面是一个解决方法,用于发现最近是否删除了哪些文件

我们正在使用Box.NETSDK构建一个应用程序,以显示CustomerBox帐户的内容。我们的同步工具使用Box content API检索文件夹和文件,并根据这些信息构建缓存。为了检测自上次同步以来是否发生了更改,我们在字段中比较了一个修改的文件夹

插入或更新文件时,父文件夹modified_at字段将更新为正确的时间戳

删除文件时,父文件夹时间戳保持不变。这是错误还是正确的行为


官方论坛问题:

这是一个已知问题,但我们目前没有修复的时间表。下面是一个解决方法,用于发现最近是否删除了哪些文件

(1) 使用以下参数调用事件API:“stream\u type=admin\u logs&event\u type=delete”。这将返回已删除项目的列表,以及每个项目的父文件夹id

示例请求

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

{
  "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": "example@example.com"
      },
      "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) 在后续调用中使用步骤1中返回的下一个\u stream \u位置,在该点之后获取已删除的项目。

此解决方案并不理想,因为我们必须处理所有删除事件、文件或文件夹,而不管父文件夹是什么。这将使我们的同步逻辑相当混乱。我想我们最终会等待这个问题的解决。。。