他们是否可以通过对Google云端硬盘进行API调用来检查特定的Team Drive是否被破坏了?

我试图对特定的Team驱动器执行GET请求,该请求已被用户删除。但是我得到200响应,那么我该如何检测用户对该团队驱动器的破坏

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

最佳答案

通过使用Changes: list,您可以在此处检查最新的文件/文件夹更改。包括文件夹移动以及已删除文件的更改。

这是您需要执行的步骤:


使用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中查看有关Team Drive的信息。

更新的答案

好吧,我能确定是否删除团队驱动器的唯一方法是检查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”,然后再次执行
Teamdrives:列表。现在,我只得到两个结果

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


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

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

08-27 03:59