8
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?