建立 Google App Script 专案(2)

今天目标是成功筛选出特定条件的信件内容,方便我们之後 push 到资料库供 Line Messaging Api 使用

Google App Script 的文件

网路上其实有非常多优质的 GAS 教学文章,笔者过去也是看着大神们的文章一步步接触新东西。但是在没有教学文章的情况下该怎麽办呢?对工程师来说,最简单暴力的就是看程序码或是官方文件了!

GAS 的免费限额

GAS 到目前为止都还是免费限额使用,详细的配额限制可以参考以下文件,基本上以个人用途来说不太容易超过配额,可以放心使用。

Quotas for Google Services

Apps Script services have daily quotas and limitations on some features. If you exceed a quota or limitation, your script throws an exception and execution stops.

GAS 支援文件

Apps Script | Google Developers

Google 的各项服务其实都提供了很详细的说明文件,而 GAS 也不例外,在说明文件的首页找到我们需要的 Gmail 点进去吧!

Gmail Service

可以看到前篇文章使用到的 Class GmailApp 底下的 Method getInboxThreads(start, max) 也在其中

搜寻特定内容的邮件

目标是只要找出 Netflix 发送给我们的最新邮件,从文件中找出最适合的 Method 为 search(query, start, max)

  • query(String),而且平常在 Gmail 搜寻邮件时下的条件都能使用(更多搜寻运算子)
  • start(Integer),符合 query 条件的 threads 中,以 index == start 的 thread 开始取得
  • max(Integer),从 start 开始取得最多 max 则的 threads,不足 max 则时,其余返回 empty array

所以我们可以写出以下的程序码去取得最新一则 Nextflix 发给我们的 GmailThread 的主旨和讯息内容

function readMail() {
  var firstThread = GmailApp.search('from:netflix', 0, 1)[0];
  Logger.log(firstThread.getFirstMessageSubject());
  var messages = firstThread.getMessages();
  for (var i = 0; i < messages.length; i++) {
    Logger.log(messages[i].getPlainBody());
  }
}

最後按下执行,确认结果

今日目标完成!即将迎接 Friday Night 的到来,期待~
明天继续研究怎麽将取得的内容存放到适合的资料库中,GAS能存放的媒介选择可不少呢~


<<:  [Day1] Vite 出小蜜蜂~前置准备 + 用程序画 Pixel Art!

>>:  下载Python

TCP/IP,网际网路的基础通讯架构

上篇所提到的 TCP/IP,将网路通讯模型分成四层。今天来简单聊一下这四层分别为何、在做什麽事,身为...

实用的 each_cons 方法,Ruby 30 天刷题修行篇第十二话

嗨,我是A Fei,今天真的忙翻,以下是今天的题目: (题目来源: Codewars) The ma...

D-12 设定挡 ? configuration ? IOptionsMonitor

设定档 昨日说明关於使用者身分验证以及权限设定的部分加以说明,并且透过第三方插件的方式展现如何在do...

Day 07:我今天想不到标题之整合 tmux 和 zsh

我把从第一天到现在每天的 Home 目录都放上 GitHub 了,README.md 里面有说明 ...

「行动」是难下的决定,剩下的只是坚持。

「行动」是难下的决定,剩下的只是坚持。 The most difficult thing is th...