LoginSignup
8
2

More than 1 year has passed since last update.

LINEのフレックスメッセージをGASで送る

Last updated at Posted at 2022-12-11

LINE APIできれいな見た目で送れるフレックスメッセージ

それを簡単に作ることができるFLEX MESSAGE SIMULATOR

そこで作っていくと、JSONを書き出してくれる!!

。。。でも送り方がわからない、、、という現象に当初おちいってしまいました。。。

そのまま貼り付けてしまったのが原因なのですが、
ヘッダーに何をどのようにつけたらいいの??
ということで
簡単ですが、FLEX MESSAGE SIMULATORで作ったものを
GASで送って仕組みがわかるものを作成しました!

使い方

セルC2に送りたい人のユーザーID
(自分に送る場合は、LINE Developerで取得した自身のユーザーIDを貼り付け)

セルC5にLINE Developerで取得したチャネルアクセストークン(長期)

セルC10にFLEX MESSAGE SIMULATORで作成したjsonをそのまま貼り付け

その後、送信ボタンを押すと、Flexメッセージが送ることができます!

下記がGASに記載されている内容です。

コード.gs
var SS = SpreadsheetApp.getActiveSpreadsheet(); //SpreadsheetのURL
var sheet = SS.getSheetByName("シート1"); //Spreadsheetのシート名(タブ名)
var CHANNEL_ACCESS_TOKEN = sheet.getRange(5,3).getValue()

function flexmsg() {

var userID = sheet.getRange(2,3).getValue()
var json = sheet.getRange(10,3).getValue()
var flexmsgjson = JSON.parse(json)

  reply_text ={
     "to": userID,
     "messages": [ {
      "type": "flex",
      "altText": "This is a Flex Message",
      "contents": flexmsgjson
}

]
     }


     var options = {
     "method": "post",
     "headers": {
       "Content-Type": "application/json",
       "Authorization": "Bearer " + CHANNEL_ACCESS_TOKEN,
       },
     "payload": JSON.stringify(reply_text)
     };
  result = UrlFetchApp.fetch("https://api.line.me/v2/bot/message/push", options); 

console.log(result.getContentText())

}

FLEX MESSAGE SIMULATORで作ったけどうまく送れなかった、、、
という方は是非、こちらでお試しして、GASで送っている内容を見てみてください!!

8
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
2