見出し画像

ないなら組み合わせれば良い~Gmail to LINEWORKS実装編~

前回からGmailで受信したメッセージをLINE WORKSに通知する手段についての記事を記載しています。

今回は前回の記事の内容を実装してみたので共有します。

GAS から LINE WORKS へメッセージを送信

画像1

コードは基本的には元の記事を参考に記載しています。
ただ、使いまわせるように、関数で変数を受け取れるように修正しています。

test関数を実行すると、こんな感じでメッセージが届きます。

画像2

Gmailから該当のメッセージをGASへ連携

では、Gmail側を実装していきます。
こちらの記事がわかりやすかったので、参考にしていきます。

取得する条件など細かいこと知りたい方はリファレンス読んでください。

ちなみに、検索条件は、Gmailの検索ボックスと同様です。
今回は、未読かつ、件名に特定の文字列が含まれている場合に通知するように設定してみました。

画像3

実装出来たらテストします。
実行するとこんな感じでメッセージが送信されます。

画像5

参考サイトのままやるとHTMLタグが表示されるので、プレーンテキストで取得するようコードを変更しておく必要があります。

let body = message.getbody();//HTML形式で取得
let body = message.getPlainBody();//プレーンテキストで取得

それ以外のコードについては参考サイトとか見ながら頑張って実装してみてください!

うまくいったら5分おきに実行されるトリガーを設定して完了です。

画像5

ちなみに、これは一時的なもので完璧なものではありません。
使っているとバグがいくつか出るのでそのあたりは改修が必要です。

例えば、
・未読メッセージを取得するので既読にしないといけない
・実行アカウントでメールを既読にしてしまったら検索から外れる
・実行アカウントの人が退職したら使えなくなる
みたいな感じですね。

このあたりはぜひ試行錯誤してみてください。

まとめ

ということで2回に渡って特定のアプリケーションとLINE WORKSの連携を考えてきました。

今回はGASを利用しましたが、以下の記事のようにSalesforceで実装すればSalesforceを介した通知も可能になります。

ぜひこのようにソリューションを組み合わせてやりたいことを実現するということにチャレンジしてみてください!

【補足】トークルームに対してのメッセージ送信

sendMsgRoom関数を使えば対象のルームに対してメッセージを送信することが可能です。
ルームIDに関しては以下の記事を参考に取得することが可能です。


この記事が気に入ったらサポートをしてみませんか?