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で送っている内容を見てみてください!!