Gmailの特定のラベルのメールを確認し、未読であればLINE Notifyに通知した上で既読をつけるGoogle Apps ScriptをTypeScriptで実装しています。
以下のソフトウェアの使用を前提とします。
- Node.js:v20以降
- TypeScript:v5以降
また、GASを実行するためのGoogleアカウントが必要です。
- リポジトリをクローンし、ディレクトリを移動
git clone https://github.com/tsukuboshi/gas-gmail-to-line.git
cd gas-gmail-to-line
- npmパッケージをインストール
npm init -y
npm install
- asideを初期化しGASプロジェクトを作成
- Project Title:(任意のプロジェクト名)
license-header.txt
の上書き:Norollup.config.mjs
の上書き:No- Script ID:空文字
- Script ID for production environment:空文字
npx @google/aside init
✔ Project Title: … gas-gmail-to-line
✔ Adding scripts...
✔ Saving package.json...
✔ Installing dependencies...
license-header.txt already exists
✔ Overwrite … No
rollup.config.mjs already exists
✔ Overwrite … No
✔ Script ID (optional): …
✔ Script ID for production environment (optional): …
✔ Creating gas-gmail-to-line...
-> Google Sheets Link: https://drive.google.com/open?id=xxx
-> Apps Script Link: https://script.google.com/d/xxx/edit
- Googleアカウントの認証を実施
npx clasp login
- GASアプリをデプロイ
npm run deploy
- 以下コマンドでスプレッドシートを開く
npx clasp open --addon
-
「プロパティ」シートのA列にLINE Notifyのトークンを記入
-
「プロパティ」シートのB-F列に通知するGmailのラベル名を記入(最大5つ)
-
スプレッドシート上部のカスタムメニューにて「通知テストの実施」をクリックし、指定したラベル名のメールが特定のLINE Notifyにより通知される事を確認
-
スプレッドシート上部のカスタムメニューにて「通知トリガーを1時間で設定」をクリックすると、通知トリガーが1時間毎に設定される