はなちるのマイノート

Unityをメインとした技術ブログ。自分らしくまったりやっていきたいと思いますー!

【GAS】Messaging APIを用いてLINEにメッセージを投稿する

はじめに

今回はMessaging APIを用いてメッセージを投稿してみる記事になります!

Slackで来た通知を上手くLINEに転送できたらいいなという思いから色々調べていますが、LINEにメッセージを投稿する部分について実装できました。

ただLINEはSlackなどのAPIに比べて設定がめんどくさいんですよね。まだしてないよという方はこちらの記事を参考にしていただけると良いと思います。
【GAS】LINE MessagingAPIを使ってLINE Botを作成する - はなちるのマイノート

この記事のコードの部分を書き換えれば同じ流れでちゃんと実行できるはずです。

では早速やっていきましょう。

コード

// チャネルアクセストークン
var ACCESS_TOKEN = 'LINE Developer画面に表示されている「アクセストークン」';
var USER_ID = 'LINE Developer画面に表示されている「Your user ID」';

function push(text){
  var url = "https://api.line.me/v2/bot/message/push";
  
  var headers = {
    "Content-Type" : "application/json; charset=UTF-8",
    'Authorization': 'Bearer ' + ACCESS_TOKEN,
  };

  var postData = {
    "to" : USER_ID,
    "messages" : [
      {
        'type':'text',
        'text': text,
      }
    ]
  };

  var options = {
    "method" : "post",
    "headers" : headers,
    "payload" : JSON.stringify(postData)
  };

  return UrlFetchApp.fetch(url, options);
}

function test(){
 push('テストテスト') 
}

コードはこんな感じで作ってみました。

前回作成したBotとほとんど同じで、UserIDとurlが違うくらいでしょうか。詳しいことは公式ドキュメントを参照してみてください。
Messaging APIリファレンス

実行してみる

メッセージの投稿の場合はWebhook URLを更新する必要はないのでこのまま実行してみましょう。

GASでtestメソッドを実行してあげると…。

f:id:hanaaaaaachiru:20191028133453p:plain

無事実行できました!

先程指定したUserIDを変えることで送る相手を変更できるので、試してみるのも面白いかもしれません。

さいごに

以前はメッセージを投稿は有料でしかできなかったみたいですが、最近1000通/月まで無料になっているみたいです。
https://at.line.me/jp/plan

是非色んな機能を作ってみてください!