<準備編>LINE bot SDK(line-bot-sdk-gas)
LINE bot SDK(GAS以外のライブラリ)
LINE Messaging API SDK
LINE Developersサイトは開発者向けのポータルサイトです。LINEプラットフォームのさまざまな開発者向けプロダクトを利用するための、管理ツールやドキュメントを利用できます。LINEログインやMessaging APIを活用して、...
line-bot-sdk-gas(GAS用のライブラリ)
参照:LINE Messaging API を Google Apps Script で利用するためのライブラリ作りました
依存ライブラリの設定
- GAS のエディタ画面の [ライブラリ] の [+] をクリックしてダイアログを開きます。
- [スクリプト ID] という入力欄に
1EvYoqrPLkKgsV8FDgSjnHjW1jLp3asOSfDGEtLFO86pPSIm9PbuCQU7b
という値を入力し、 [検索] ボタンをクリックします。
3.[追加] ボタンを押します。
絵文字一覧(LINE Developers)
LINE絵文字
LINE Developersサイトは開発者向けのポータルサイトです。LINEプラットフォームのさまざまな開発者向けプロダクトを利用するための、管理ツールやドキュメントを利用できます。LINEログインやMessaging APIを活用して、...
LINEメッセージの飛ばし方(GASで記述)
たらこさんのLINEメッセージの飛ばし方
https://note.com/taraco123/n/n522774098e00
function myFunction() {
var url = "https://notify-api.line.me/api/notify";
var token = ["トークンを記載"];
var data = {
"message" : "こんにちは!",
}
var options = {
"method":"post",
"contentType":"application/x-www-form-urlencoded",
"headers":{
"Authorization":"Bearer " + token, //必ず「Bearer」の後に半角スペースが必要
},
"payload":data,
}
UrlFetchApp.fetch(url,options);
}
アンケートフォームの作成→回答をGoogle Spreasheetに記入
const SPREAD_SHEET_ID = "スプレッドシートのID";
const SHEET_NAME = "シート1"
const ACCESS_TOKEN = "LINE Developersのチャンネルアクセストークン";
const sheet = SpreadsheetApp.openById(SPREAD_SHEET_ID).getSheetByName(SHEET_NAME);
const bot = new LineBotSdk.client(ACCESS_TOKEN);
function doPost(e) { bot.call(e, callback) };
function callback(e) {
if (e.type == "follow") {
question(e);
} else if (e.type == "postback") {
const postbackData = e.postback.data;
if (["犬", "猫", "兎"].includes(postbackData)) {
const cells = sheet.createTextFinder(e.source.userId).findAll();
if (cells.length == 0) {
sheet.appendRow([e.source.userId, postbackData]);
} else {
cells[0].offset(0, 1).setValue(postbackData);
}
bot.replyMessage(e, [bot.textMessage(`ご回答ありがとうございます!`)]);
}
}
};
function question(e) {
bot.replyMessage(e, [bot.flexMessage({
"type": "bubble",
"body": {
"type": "box",
"layout": "vertical",
"contents": [
{
"type": "text",
"wrap": true,
"color": "#666666",
"size": "sm",
"text": "好きな動物を教えてください"
}
]
},
"footer": {
"type": "box",
"layout": "vertical",
"spacing": "sm",
"contents": [
{
"type": "button",
"style": "link",
"height": "sm",
"action": {
"type": "postback",
"label": "いぬ",
"data": "犬"
}
},
{
"type": "button",
"style": "link",
"height": "sm",
"action": {
"type": "postback",
"label": "ねこ",
"data": "猫"
}
},
{
"type": "button",
"style": "link",
"height": "sm",
"action": {
"type": "postback",
"label": "うさぎ",
"data": "兎"
}
},
{
"type": "box",
"layout": "vertical",
"contents": [],
"margin": "sm"
}
],
"flex": 0
}
})]);
}
FLEX MESSAGE SIMULATOR 参照
https://tibirobo.jpn.org/?p=3341
<番外編>LINEにメッセージ送信しよう – LINE Notifyのトークン発行
LINE Notify APIとLINE Messaging APIとの違い
「LINE Notify API」と「LINE Messaging API」は、どちらもLINEのプラットフォーム上で提供されているAPIサービスですが、目的や利用シーン、提供される機能に違いがあります。
大きな違いとしては、LINE Notify APIはシンプルな通知を送るためのものであり、LINE Messaging APIはLINEボットの開発やユーザーとの双方向のコミュニケーションを実現するためのものです。
双方向性
- LINE Notify API
→一方通行の通知を主としている
※テキスト、画像、スタンプなどのシンプルなメッセージを送信
LINE Messaging API
→双方向性。ユーザーからのメッセージやイベント(例:友だち追加、ブロックなど)を受け取ることができ、それに応じてボットからの返信やアクションを実行可能。
※テキスト、画像、動画、スタンプ、位置情報、カルーセルメッセージなど、多様なメッセージタイプをサポート
参照:https://programming-zero.net/line-notify-api-access-token/
たらこさんのLINE Notifyのトークン発行方法
https://note.com/taraco123/n/n0e1ca2cb858e
888