LINE ビジネス (MessageAPI)
応答モード
Botモードとチャットモードのふたつのモードがある。いずれかの状態になっている。
BotはWebhookが使える。チャットはリアルタイムのチャットとか、AIでの返答。
MessageAPIを使う時はBotモードにする。(LINE Official Account Managerのヘッダー部分に応答モードの記載とリンクがある。アカウント設定に近いところにある。)
応答メッセージのオンオフは別のところで設定できる。
応答メッセージもだしながらMessageAPIでの返答をすることもできる。この場合、応答メッセージが先に送られる。
チャネルアクセストークン
チャネルはプロバイダーの下にあるなにか概念。複数作成することができる。
LINE Developerの管理画面から確認することができる。LINE Official Account Managerとは別なので注意。
この管理画面でWebhookの設定もできる。 https://developers.line.biz/
チャネルアクセストークンの長期使用可能なものが提供されている。短期のものは、複数発行が可能なのだと思う。複数の開発者を想定しているのではないか。長期のアクセストークンは再発行すると以前のものが使えなくなる。
長期チャネルアクセストークンを使用したAPIの使用に関して、使用元のIPを制限することも可能。長期アクセストークンが漏れてしまうと大変だからということなんだと思う。
APIで必要なチャンネルアクセストークンはチャンネルシークレットとは別物です。
チャンネルアクセストークンはLINE Developersページで、プロバイダを選んでこういう画面から確認する。
APIでの自動返信
チャネルアクセストークンを添えて、指定のURLにAPIをお送りするということになる。
ご指定のURL= https://api.line.me/v2/bot/message/reply
//自動返信メッセージの内容
var message = {
"replyToken" : event.replyToken,
"messages" : [{"type": "text","text" : "こちらはbotによる自動返信です。"}]
};
//メッセージに添えなければならない情報
var options = {
"method" : "post",
"headers" : {
"Content-Type" : "application/json",
"Authorization" : "Bearer " + channel_token
},
"payload" : JSON.stringify(message)
};
//自動返信メッセージを送信する
UrlFetchApp.fetch(url, options);