【问题标题】:Search bigquery for messageid from my gmail account从我的 gmail 帐户中搜索 bigquery 以获取 messageid
【发布时间】:2020-07-04 06:53:58
【问题描述】:

我想在 bigquery gmail 日志中搜索我的电子邮件帐户中的特定 messageid。

function myFunction() {
  // Get the first message in the first thread of your inbox
  var message = GmailApp.getInboxThreads(0, 1)[0].getMessages()[0];
  // Get its ID
  var messageId = message.getId();
  // Now fetch the same message using that ID.
  var messageById = GmailApp.getMessageById(messageId);
  // Should always log true as they should be the same message
  var messageIdRFC2822 = message.getHeader("Message-ID");
  // Get RFC 2822 message ID
  var subject = message.getSubject();
  Logger.log(subject);
  Logger.log(messageIdRFC2822);

  // input RFC2822 message id and subject to query BigQuery
  var projectId = 'gmail-gsuite-logs';
  var request = {
    query: 'SELECT message_info.subject, message_info.rfc2822_message_id, message_info.connection_info.spf_pass, m.name as domain, message_info.connection_info.is_internal FROM `gmail-gsuite-logs.gmail_logs_dataset.daily_20200304`, UNNEST(message_info.connection_info.authenticated_domain) as m WHERE message_info.rfc2822_message_id=messageIdRFC2822 LIMIT 10;',
    useLegacySql: false
  }
  var jobResult = BigQuery.Jobs.query(request, "gmail-gsuite-logs");
  var jobId = jobResult.jobReference.jobId;
  Logger.log(jobId);
}

正如您从上面的代码中看到的那样,我收到以下查询部分的错误。反正有没有使这项工作。简而言之,我想查询 bigquery 以获取特定的 messageID。 "message_info.rfc2822_message_id=messageIdRFC2822"

我得到的错误: GoogleJsonResponseException:对 bigquery.jobs.query 的 API 调用失败并出现错误:无法识别的名称:messageIdRFC2822

【问题讨论】:

  • 你到底得到了什么错误?
  • @MikhailBerlyant 下面是我在运行脚本时遇到的错误。 GoogleJsonResponseException:对 bigquery.jobs.query 的 API 调用失败并出现错误:无法识别的名称:messageIdRFC2822

标签: google-apps-script google-bigquery gmail


【解决方案1】:

查询中的 WHERE 子句应如下所示

WHERE message_info.rfc2822_message_id="<messageIdRFC2822>"   

&lt;messageIdRFC2822&gt; 替换为您在代码中计算的messageIdRFC2822 的实际值

【讨论】:

  • 不错。考虑接受答案然后投票
  • 上述代码相关的问题。查询成功运行。是否可以读取查询结果值并在值为 true 时执行操作。
  • 您的问题已得到解答,如果是,请考虑接受并投票。同时,如果您有更多/新问题 - 请随时将其作为新问题发布,我们将很乐意为您提供帮助
猜你喜欢
  • 2015-01-26
  • 2013-11-09
  • 1970-01-01
  • 2021-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-08
  • 2018-05-18
相关资源
最近更新 更多