如何检查团队驱动器是否在 Google 驱动器 REST API 中被丢弃?

How to check if a Team drive is Trashed in Google Drive REST API?

他们是否可以通过 API 调用 google Drive 来检查某个特定的团队驱动器是否已删除?

我已尝试向被用户丢弃的特定团队驱动器发出 GET 请求。但是我得到了 200 个响应,那么我如何才能检测到团队驱动器被用户破坏了

GET https://www.googleapis.com/drive/v2/teamdrives/{trashed-team-drive-id}

通过使用 Changes: list,您可以在此处查看最近的 file/folder 更改。包括文件夹移动和垃圾文件的更改。

以下是您需要执行的步骤:

  • 使用Changes: getStartPageToken并将值true传递给supportsTeamDrives参数。只需获取您将从中获得的价值,因为您将在下一步中使用它。例如。 "startPageToken": "1203685"

  • 您现在可以使用更改:列表来获取您的 teamDrive 中的更改。以下是您需要传递的参数:

    • pagetoken - 1203685 // 您在上述步骤中获得的值。
    • includeRemoved - 真
    • includeTeamDriveItems - 真
    • supportsTeamDrives - 真
    • teamDriveId - YOUR_TEAM_DRIVE_ID

执行此步骤后,您将收到如下信息:

{
 "kind": "drive#changeList",
 "newStartPageToken": "25",
 "changes": []
}
  • 现在,您需要使用此 25 作为您的页面令牌,您将再次收到相同的结果,因为您使用的是最新的页面令牌。在收到更改之前,您需要手动减少页面令牌。

这里是示例参数和示例结果。

  • pagetoken - 25 // 然后使用 24,检查最新更改,然后使用 23 等等。
  • includeRemoved - 真
  • includeTeamDriveItems - 真
  • supportsTeamDrives - 真
  • teamDriveId - YOUR_TEAM_DRIVE_ID

示例结果

{
 "kind": "drive#changeList",
 "newStartPageToken": "25",
 "changes": [
  {
   "kind": "drive#change",
   "type": "file",
   "time": "2017-03-23T09:23:43.399Z",
   "removed": true,
   "fileId": "1JByPgn1GVybkprMC0NX_t0o6xxxxD6ZnuVqo1Kymjqk"
  }
 ]
}

有关详细信息,请查看有关团队驱动器的documentation

更新答案

嗯,我能看到的确定团队驱动器是否被删除的唯一方法是检查它是否在 Teamdrives: list

中可用

您将在此处看到您拥有的所有可用团队驱动器。

在我的例子中,我有三个团队驱动器,所以结果是这样的:

{
 "kind": "drive#teamDriveList",
 "teamDrives": [
  {
   "kind": "drive#teamDrive",
   "id": "0AMlDYsxxxxLYUk9PVA"
  },
  {
   "kind": "drive#teamDrive",
   "id": "0ABe6rxxxxzGaUk9PVA"
  },

  {
   "kind": "drive#teamDrive",
   "id": "0ABgqxxxxgt-NUk9PVA"
  }

如果您知道团队驱动器的 ID,您也可以使用 Teamdrives: get

来验证它

我试图删除其中一个团队驱动器 "0AMlDYsxxxxLYUk9PV" 并再次执行 团队驱动:列表。现在,我只得到两个结果

{
 "kind": "drive#teamDriveList",
 "teamDrives": [
  {
   "kind": "drive#teamDrive",
   "id": "0ABe6rxxxxzGaUk9PVA"
  },
  {
   "kind": "drive#teamDrive",
   "id": "0ABgqxxxxgt-NUk9PVA"
  }

如果我现在使用 Teamdrives:获取 teamDriveId "0AMlDYsxxxxLYUk9PV",我现在将收到 错误 404:“找不到团队驱动器: 0AMlDYsxxxxLYUk9PV"

希望这些信息对您有所帮助。