谷歌驱动器中的文件夹移动事件

Posted

技术标签:

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

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

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

【问题讨论】:

【参考方案1】:

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

使用activity.query():

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

参考资料:

Making Requests in the Drive Activity API Filtering

示例请求正文:


  "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

以上是关于谷歌驱动器中的文件夹移动事件的主要内容,如果未能解决你的问题,请参考以下文章

在存储在谷歌驱动器中的谷歌 Colaboratory 中导入 zip 文件

将一个谷歌驱动器文件夹中的所有照片插入谷歌表格?

谷歌驱动器重定向 URI 不匹配以及如何从 ASP.net 核心 2.0 中的谷歌驱动器获取文件列表

播放存储在谷歌驱动器中的音频文件(远程 URL) - Swift

如何将 csv 数据中的动态驱动器访问权限分配给谷歌驱动器文件夹?

iOS如何防止应用程序窃取保存在谷歌驱动器中的文件?