Python googleapiclient for Gsuite Activity & Alerts fetching - filter & Push mode



我是googleapiclientpython模块的新手,经过几天的本地API测试,我有几个问题,我无法在我找到的文档中找到答案:

  1. 我注意到活动拉API (SCOPE='www.googleapis.com/auth/admin.reports.audit.readonly',使用函数googleapiclient.discovery.Resource.activities().list)只有2个时间相关参数,startTimeendTime。然而,我害怕由于延迟和回填而丢失信息,因此想要使用createTime选项查询API,这是否可能以任何方式?
  2. 在警报API (SCOPE=www.googleapis.com/auth/apps.alerts)我确实找到了这样一个选项,通过使用filter选项,过滤结果的事件;事实证明,这些确实有一个createTime字段。想要确保通过使用这个,我确实会得到所有的警报(例如通过查询在每小时createTime>=current_timestamp - 1H.
  3. 当使用活动API时,我试图使推送通知API工作(使用googleapiclient.discovery.Resource.activities().watch函数),但没有找到body参数的文档(应该定义输出流)-只发现了一些我无法理解的粗略解释。有人能告诉我这个参数的一个例子/详细选项(例如,我想创建一个流到本地文件,这是可能的吗?还有其他选择吗?
  4. 我没有在警报API中找到类似的推送选项,有吗?

我找到了一些答案(你可能觉得不满意):

  1. 没有找到createTime选项,而且我怀疑一些大的SIEM产品(Splunk, Devo, Elastic)都使用pull API,由于Google方面的延迟而导致数据丢失的免责声明。
  2. 没有什么要补充的,问题仍然存在。
  3. 找到了一些关于活动的拉API的更多信息,特别是body参数,见这里。这需要一个self-owned webhook的定义,所以如果有人知道一种方法来绕过这个并使用常见的在线webhook资源,我将很高兴知道。
  4. 我认为没有pull API for Alerts的选项,但是如果有人知道,请再次评论。

最新更新