概要
タイトル通り
Google Chat アプリを作成して、GASからLINE Messaging APIをリクエストするようにして、
自動転送ができたので手順を備忘として残しておく
(画像の転送には対応していない)
流れ
1.メッセージ送信用のLINE公式アカウントを新規作成
2.Messaging APIの利用を有効にする
3.送信を試してみる
4.Google Chat アプリを作成する
5.GASでMessaging APIを呼び出す
6.検証
手順
1.メッセージ送信用のLINE公式アカウントを新規作成
ここから作れる
途中この画面のアカウント名でLINEが送信されることになる、業種とかはなんでもOK(個人(その他)にした)
こんな感じの画面に行けたらOK、作った公式アカウントは自動で友だち追加されてるはず
左のサイドバーのプロバイダーを押下、適当な名前でプロバイダーを作成しておく
作成済のアカウントしか用意してなかったので、キャプチャは載せられず
2.Messaging APIの利用を有効にする
LINE Official Account Managerで設定
きっと作った公式アカウントがいるはずなので、アカウント名を押下
作成済のプロバイダーが表示されるはずなので、押下
任意項目は空欄でOK
LINE Developersに戻るとMessaging APIがいるはずなので、押下
Messaging APIタブの一番下にあるチャネルアクセストークンを発行しておく
この後使うので、
・チャネルアクセストークン
・チャネル基本設定タブのあなたのユーザーID
をメモっておく
3.送信を試してみる
この時点でMessaging APIを使ってメッセージ送信ができるはず
VSCodeの拡張機能REST Clientを使って試してみた
@baseUrl = https://api.line.me/v2/bot/message/push
POST {{baseUrl}}
Content-Type: application/json
Authorization: Bearer {さっきメモしたチャネルアクセストークン}
{
"to": "さっきメモしたあなたのユーザーID",
"messages": [
{
"type":"text",
"text":"Hello, world1"
},
{
"type":"text",
"text":"Hello, world2"
}
]
}
あとはGoogleChatでメッセージを送信したときに、メッセージを取得してMessaging APIに渡せればクリア
4.Google Chat アプリを作成する
Messaging APIの呼び出しはGASで行うので、Google Chat アプリを作成してスクリプトの実行をしてもらう
公式のドキュメント通りに進めていく(手抜き)
途中で課金を有効にしないといけないけど、毎月200ドル分までは無料で利用できるのできっと大丈夫
DMを始めると挨拶してくれて、メッセージをオウム返ししてくれるロボ
5.GASでMessaging APIを呼び出す
AppsScriptでQuickstart appを押下
function onMessage(event){}を以下の通り書き換える
function onMessage(event) {
const LINEMessagingAPIUrl = "https://api.line.me/v2/bot/message/push";
const method = "POST";
const headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {少し前にメモしたチャネルアクセストークン}"
};
const talkRoomID = "少し前にメモしたあなたのユーザーID";
const message = event.message.text;
const payload = JSON.stringify({
"to": talkRoomID,
"messages": [
{
"type":"text",
"text":message
}
]
});
const response = UrlFetchApp.fetch(LINEMessagingAPIUrl, {
method: method,
headers : headers,
payload: payload,
})
return { "text": response.getContentText() };
}
6.検証
ロボに送ったメッセージがMessaging APIに渡されて、LINEが送信されるはず
補足
talkRoomID(GASでMessaging APIにtoとして渡す値)を変えれば、LINEで転送するときの送信先を変えられる
出典