【问题标题】:How to check if a Team drive is Trashed in Google Drive REST API?如何检查团队驱动器是否在 Google Drive REST API 中被删除?
【发布时间】:2017-03-23 06:49:34
【问题描述】:

他们是否可以通过对 google Drive 进行 API 调用来检查特定团队云端硬盘是否已被删除?

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

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

【问题讨论】:

    标签: php python google-drive-api google-oauth google-workspace


    【解决方案1】:

    通过使用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”

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

    【讨论】:

    • 感谢您的更新。但我正在寻找一种解决方案来了解团队驱动器是否被删除。我已经通过 Changes.list 获得了所有更改,但我没有找到任何表明团队驱动器已删除的项目
    • 你的意思是整个团队都在开车吗?还是团队驱动器中的文件?
    • 整个团队驱动器,而不是团队驱动器中的单个文件。
    • 感谢@KENdi,它可以根据需要工作。再次感谢您节省了我的时间
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-16
    相关资源
    最近更新 更多