1

Google 云端硬盘活动查询是否有任何更改?今天我注意到过滤器无法正常工作。

回复

我将文件上传到驱动器文件夹,当我查询该文件夹的活动时,该事件有更多信息,因此过滤器以一种奇怪的方式工作:我的参数:

{ 
   "ancestorName": "items/Folder_ID",
   "filter": "detail.action_detail_case:(MOVE DELETE)"
}

预期响应

我希望收到“MOVE”或“DELETE”事件,但是,我收到了 UPLOAD 事件。在这种情况下,因为我期望只有一个上传:

{
    "activities": []
}

实际反应

{
    "activities": [
        {
            "primaryActionDetail": { "create": { "upload": {} } },
            "actors": [ { "user": { "knownUser": { } } } ],
            "actions": [
                {
                    "detail": { "create": { "upload": {} } }
                },
                {
                    "detail": { "edit": {} }
                },
                {
                    "detail": { "permissionChange": { "addedPermissions": [ { } ] } }
                },
                {
                    "detail": { "move": { "addedParents": [ { } ] } }
                }
            ],
            "targets": [
                {
                    "driveItem": {
                    }
                }
            ],
            "timestamp": "2020-04-15T10:36:58.686Z"
        }
    ]
}

响应包含有关每个不相关的详细信息的信息。可以看出primaryActionDetail是“创建”“上传”,但它在查询中返回,尽管已针对“删除”/“移动”操作进行了查询。有什么想法吗?

发生这种情况是因为“动作”中有“移动”动作吗?如果是这样,我怎么能只过滤primaryActionDetail

4

1 回答 1

0

注意事项:

将Drive API 从 迁移v1v2,更改了单个操作在响应中的显示和分组方式。具体来说v2,整合策略不会改变DriveActivity的输出,它将始终包含完整的参与者、目标和操作集。

方法

正如文档中所建议的那样,这里的一个好方法是在返回 API 调用后过滤顶层。

[...] 无论是否启用合并,对于许多客户来说,仅查看DriveActivity的顶级内容(即,具有主要ActionDetail的集体ActorTarget)并忽略其中的详细Action可能就足够了。响应。

参考:

驱动 API v2

于 2020-04-15T13:53:28.350 回答