LINE Messaging API を Google Apps Script で利用するためのライブラリ作りました
LINE 謹製 Node.js 用 SDK と基本同一のインターフェイスをもつ LINE Messaging API を Google Apps Script で利用するためのライブラリ作りました。
依存ライブラリの設定
- GAS のエディタ画面のメニューの [リソース]-[ライブラリ...] をクリックしてダイアログを開きます。
- [ライブラリを追加] という入力欄に
M9SALMELLb5j80Xc6lwp2BSX4BxE72EjN
という値を入力し、 [追加] ボタンをクリックします。 - グリッドの [タイトル] というカラムの値が
LineBotSDK
というレコードが追加されるので、 [バージョン] というカラムのコンボボックスから最新のバージョンを選択し、保存ボタンを押します。
呼び出し方
function doPost(e) {
const event = JSON.parse(e.postData.contents).events[0];
const replyToken = event.replyToken;
const lc = new LineBotSDK.Client({ channelAccessToken: 'アクセストークン' });
lc.replyMessage(replyToken, [{ type: 'text', text: 'こんにちは' }]);
}
その他のメソッドの使い方は公式と同じインターフェイスにしてある(Node と GAS での若干クラスの差異がある部分(Readable -> Blob)を除く)ので Messaging APIリファレンス をご参照ください。
リッチメニューの画像を取得する getRichMenuImage
の戻り値について、 GoogleAppsScript.Base.Blob
型で戻していますが、 LINE の API が Content-Type
を application/json
で返してきているため、 GAS 上では json として認識されてしまいます。戻り値に対して getAs('image/jpeg')
とかやってもエラーになってしまうのでご注意ください。
また、使い勝手をよくするメソッドを若干追加しています。そちらについては README をご参照ください。
その他
TypeScript の定義ファイルを用意してあります。 line-bot-sdk-nodejs と同一のインターフェイスにしてあるので、 以下のようなパッケージをインストールすることでローカルでの開発がしやすくなるかと思います。
(逆に同じインターフェイスにするためにクラスを使った結果、 GAS のエディタでは補完が効かなくなっています…)
- typescript
- @line/bot-sdk
- @types/google-apps-script
ソースコード
ソースコードは以下においてあります。
実際にデプロイされているコードは下記から参照可能です。
Author And Source
この問題について(LINE Messaging API を Google Apps Script で利用するためのライブラリ作りました), 我々は、より多くの情報をここで見つけました https://qiita.com/kobanyan/items/1a590cda9deb85e86296著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .