【问题标题】:Folder moving events in google drive谷歌驱动器中的文件夹移动事件
【发布时间】:2021-10-15 22:59:10
【问题描述】:

当我将文件夹拖到另一个位置时,

有什么方法可以让我知道这个活动,告诉我它从哪里到哪里?

【问题讨论】:

    标签: google-drive-api google-drive-android-api google-drive-shared-drive google-drive-picker


    【解决方案1】:

    使用Google Drive Activity API 获取有关用户 Google 云端硬盘中所做更改的信息。

    使用activity.query()

    • 根据您要检查活动的文件/文件夹设置itemName,使用此格式"items/FILE_ID""items/FOLDER_ID"
    • filter 设置为detail.action_detail_case:MOVE 以获取移动操作活动

    参考资料:


    示例请求正文:

    {
      "filter": "detail.action_detail_case:MOVE",
      "itemName": "items/1BNPRFAJgVMW-DF_sdEsF-_14X0xxxxx"
    }
    
    • 过滤所有具有move ActionDetail 的驱动器活动
    • 主要标准是返回带有folder id: 1BNPRFAJgVMW-DF_sdEsF-_14X0xxxxx 的特定文件夹的活动

    响应正文:

    这将返回一个DriveActivity 对象,该对象将在ActionDetail 对象下包含一个Move 对象。您可以参考removedParents->driveItem获取文件/文件夹的上一个父文件夹的信息,addedParents->driveItem获取文件/文件夹的新父文件夹

    {
      "activities": [
        {
          "primaryActionDetail": {
            "move": {
              "addedParents": [
                {
                  "driveItem": {
                    "name": "items/1mF5a3gxiLzVIRe2dhY4W3Alfxxxx",
                    "title": "NewFolder_Name",
                    "folder": {
                      "type": "STANDARD_FOLDER"
                    },
                    "driveFolder": {
                      "type": "STANDARD_FOLDER"
                    }
                  }
                }
              ],
              "removedParents": [
                {
                  "driveItem": {
                    "name": "items/1lFzVvlBnBi-2o1VQGF5JDFRxxxxx",
                    "title": "TESTFOLDER",
                    "folder": {
                      "type": "STANDARD_FOLDER"
                    },
                    "driveFolder": {
                      "type": "STANDARD_FOLDER"
                    }
                  }
                }
              ]
            }
          },
            
          .....
            
          "targets": [
            {
              "driveItem": {
                "name": "items/11TrX6KcAJppWCj9GSUjSYn79Aqxxxx",
                "title": "CSVFOLDER",
                "folder": {
                  "type": "STANDARD_FOLDER"
                },
                "mimeType": "application/vnd.google-apps.folder",
                .......
              }
            }
          ],
          "timestamp": "2021-08-12T16:10:24.744Z"
        }
      ]
    }
    

    【讨论】:

    • 但是我可以不做任何请求,当有这样的活动时,它会直接向我推送通知?
    • 您可以使用驱动器 api push notification 检查驱动器文件夹中是否进行了更改。然后触发您的应用程序调用驱动器活动以检查文件夹是否已移动到您的根文件夹中。基本上,您可以使用 ancestorName 并使用您的根文件夹 ID 来获取文件夹中的所有移动活动,而不是在您的驱动器活动查询中使用 itemName
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多