【问题标题】:Ancestor query - missing events祖先查询 - 缺失事件
【发布时间】:2016-05-06 09:59:22
【问题描述】:

有什么原因,为什么ancestorId 查询的活动没有返回特定文件的所有活动?当我使用fileId 查询活动时,我可以看到给定文件的所有 singleEvents。但是,当我使用ancestorId 查询活动时,我找不到其中一些。

如果我将 groupingStrategydriveUi 更改为 none 我可以在 combinedEvents 中看到丢失的事件(每个事件都有自己的 combinedEvent ),但是当使用祖先查询和 driveUi 时,为什么其中一些不包含在 singleEvents 中,而当文件查询中存在 driveUi 时?

编辑

也许这些细节将有助于找出问题所在:

服务用户:personC,文件所有者:personA

活动2

2016-01-04 23:17:16, edit, personA 
2016-01-04 23:14:16, edit, personA 
2016-01-04 23:11:03, edit, personA
2016-01-04 23:08:03, edit, personB 
2016-01-04 23:05:02, edit, personA 
2016-01-04 23:02:02, edit, personB
2016-01-04 22:59:02, edit, personB 
2016-01-04 22:56:02, edit, personB 
2016-01-04 22:53:01, edit, personB
2016-01-04 22:47:46, edit, personA •
2016-01-04-22:44:46, edit, personA •
2016-01-04 22:41:46, edit, personA •
2016-01-04 22:38:46, edit, PersonA •
2016-01-04 22:35:47, edit, personA •
2016-01-04 22:30:32, edit, personA •
2016-01-04 22:27:32, edit, personA •
2016-01-04 22:24:32, edit, personA •

活动1

2016-01-04 22:18:29, create, personA

• 祖先查询中缺少事件

将服务用户更改为 personA 或 personB 对结果没有影响。

【问题讨论】:

  • 我仍然不确定,但据我了解,结果的可见性将取决于对象设置的权限(基于Activity API overview)。至于groupingStrategydriveui会返回一个分组的动作,所以这可能是一些事件没有返回的关键点。
  • 您好,感谢您的评论。我刚刚检查了文件的权限,没有发现任何可能导致此问题的内容。此外,我使用相同的设置来查询ancestorId 和查询fileId - 相同的用户邮箱来初始化Appsactivity 服务,相同的groupingStrategy "driveUi"。使用fileId 查询,我可以看到所有的活动,但是当我用ancestorId 交换fileId 时,一些singleEvents 没有返回。

标签: google-drive-api google-apps google-api-java-client google-apps-activity


【解决方案1】:

首先,您使用的可能不是 Google Drive API,而是活动 API。

活动 API:https://developers.google.com/google-apps/activity/
驱动API:https://developers.google.com/drive/v3/web/about-sdk

如果您仔细查看活动参数 (https://developers.google.com/google-apps/activity/v1/reference/activities/list#parameters),您会看到:

  • drive.ancestorId:标识Drive 文件夹,其中包含要为其返回活动的项目。
  • drive.fileId:标识要为其返回活动的Drive 项

您的问题似乎是您正在查看文件夹上的活动与单个文件上的活动

如何解决这个问题
如果您在文件夹中查询所有文件并循环遍历它们,如果您结合所有fileId 的活动,您将在一个文件夹中拥有所有文件的活动。

【讨论】:

  • 嗨,drive.ancestorId 旨在从整个子树中检索给定文件夹下的所有活动。正如您所提到的,查询每个文件的活动可以解决问题,但是它将需要更多的 api 调用(即使使用批处理请求)。我正在寻找答案,为什么它的行为不像它应该的那样。
猜你喜欢
  • 2017-11-25
  • 2012-07-20
  • 1970-01-01
  • 1970-01-01
  • 2012-07-06
  • 1970-01-01
  • 2013-03-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多