谷歌驱动器中的文件夹移动事件
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