如何检查Team Drive是否在Google Drive REST API中遭到破坏?

时间:2017-03-23 06:49:34

标签: php python google-drive-api google-oauth2 gsuite

通过对Google云端硬盘进行API调用,如果特定的团队驱动器是否已被删除,他们是否可以进行检查?

我尝试向用户删除的特定Team驱动器执行GET请求。但我得到200响应,那么如何检测团队驱动器被用户删除

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

1 个答案:

答案 0 :(得分:2)

使用Changes: list,您可以在此处查看最近的文件/文件夹更改。包括文件夹移动和已删除文件的更改。

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

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

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

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

执行此步骤后,您将收到以下内容:

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

以下是样本参数和样本结果。

  • pagetoken - 25 //然后使用24,检查最新的更改,然后使用23,依此类推。
  • includeRemoved - true
  • includeTeamDriveItems - true
  • supportsTeamDrives - true
  • 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"
  }

如果您使用Teamdrives: get

知道团队驱动器的ID,也可以验证它

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

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

如果我现在使用Teamdrives:获取teamDriveId " 0 AMlDYsxxxxLYUk9PV" ,我现在会收到错误404:"未找到Team Drive :0 AMlDYsxxxxLYUk9PV"

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