【问题标题】:Is there a place to get more granular reporting data via API?有没有地方可以通过 API 获取更精细的报告数据?
【发布时间】:2020-03-19 20:16:17
【问题描述】:

我正在尝试找出一种方法来导出我可以在安全仪表板和警报中心看到的一些事件。 Customer Reports API 只给我每天收到的邮件数和每天的垃圾邮件数,但晚了 24 小时以上。

每当我的域收到相关电子邮件时,我尝试在安全警报中心创建警报,但我每分钟只收到一封电子邮件,说明超出阈值,我必须点击进入调查实际获取相关数据的工具。

我是否可以在某个地方请求每小时发送 # 封网络钓鱼电子邮件,或者在发现新的网络钓鱼电子邮件时收到提醒。或恶意软件等。

【问题讨论】:

  • 当您说 # of phishing emails per hour - 您是指 Gmail 自动归类为垃圾邮件的电子邮件吗?
  • 不,在安全仪表板中,它将垃圾邮件分为几类。恶意软件、网络钓鱼等。它还告诉您为什么电子邮件被检测为垃圾邮件,即:内容、黑名单、自定义安全规则、ML、DMARC 或 SPF 记录等。那里有大量信息,我是试图出去,以便我可以做一些额外的分析,但现在,你唯一能得到的似乎是每小时 # 次垃圾邮件,即使这样也延迟了大约 2 天。

标签: reporting google-admin-sdk phishing


【解决方案1】:
  • Reports API 方法UserUsageReport: get 允许您通过指定参数gmail:num_spam_emails_received 检索特定日期收到的垃圾邮件
  • 但是,如果您想检索例如过去一小时的电子邮件,没有为此预先构建的功能。

您可以编写一个Google Apps Script 来浏览您的 Gmail 收件箱以查找新的垃圾邮件,并将脚本设置为 time-driven trigger

示例:

function setmeOnHourlyTimer() {
  var now = new Date();
  var oneHourAgoinSeconds = Math.round(now.getTime()/1000 - 1200 *60);
  var query = '"after:'+ oneHourAgoinSeconds  +'"';
  var spamMessages = Gmail.Users.Messages.list("YOU_EMAIL", {"labelIds": ["SPAM"] , "q": query}).messages;
  if (spamMessages.length > 0){
    GmailApp.sendEmail("paste your email here", "You have new Spam emails", "You got " + spamMessages.length + " new spam message(s) within the last hour.")
  }
}


【讨论】:

  • 这是针对个人用户的,我正在寻找整个组织的信息。
  • 如果您设置了service account,您可以为整个域执行此操作。不幸的是,使用 Reports API 无法对最近的电子邮件按小时执行此操作,因此您需要实施一种解决方法。
  • 即使使用这种解决方法,您仍然只能获得“垃圾邮件/收件箱”统计信息。安全仪表板为您提供有关为什么将其检测为垃圾邮件以及垃圾邮件分类是否为网络钓鱼/恶意软件等的更多详细信息。因此,这将有助于获取更多最近的垃圾邮件数据,但不会解决粒度问题。谢谢。
  • 不幸的是,现在没有更好的方法可以做到这一点。如果我提出的解决方法不足以满足您的需求,我所能做的就是建议您在Google's Issue Tracker 上提出功能请求,并希望将来能够实施。
猜你喜欢
  • 1970-01-01
  • 2018-03-04
  • 2022-12-30
  • 1970-01-01
  • 1970-01-01
  • 2017-11-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多