从我的 gmail 帐户中搜索 messageid 的 bigquery
Search bigquery for messageid from my gmail account
我想在 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:API 调用 bigquery.jobs.query 失败,出现错误:无法识别的名称:messageIdRFC2822
查询中的 WHERE 子句应如下所示
WHERE message_info.rfc2822_message_id="<messageIdRFC2822>"
将 <messageIdRFC2822>
替换为您在代码
中计算的 messageIdRFC2822
的实际值
我想在 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:API 调用 bigquery.jobs.query 失败,出现错误:无法识别的名称:messageIdRFC2822
查询中的 WHERE 子句应如下所示
WHERE message_info.rfc2822_message_id="<messageIdRFC2822>"
将 <messageIdRFC2822>
替换为您在代码
messageIdRFC2822
的实际值