GASで始める!LINE BOTで手軽に画像送信する方法
GASでLINE BOTの基本を理解する
GASを使ってLINE BOTを動かすには、まずLINE Developersのアカウントを作成してBOTを設定する必要があります。そしてGASでスクリプトを書き、画像送信機能を実装していきます。
LINE Developersに登録する
LINE Developersに登録し、Channelを作成して、必要なAPIの設定を行います。これにより、LINE BOTが発言したり、ユーザーに画像を送信することができます。
まずはLINE Developersで新しくChannelを作成します。それからMessaging APIを有効にし、Channel SecretやAccess Tokenを取得します。
GASでプロジェクトを作成する
GASのプロジェクトを作成し、LINEので使用するスクリプトを書いていきます。
Googleドライブにアクセスし、新しいスクリプトを作成します。次に、必要なURLやトークンをコードに設定していきます。
GASでLINE BOTを使って画像を送信する方法
LINE BOTを動かすための基盤が整ったら、GASを使って実際に画像を送信できるようにスクリプトを書いてみましょう。
GASのスクリプトを記述する
以下は、GASを使ってLINE BOTで画像を送信する基本的なスクリプト例です。
function sendImage() {
var url = "https://api.line.me/v2/bot/message/push";
var token = "YOUR_ACCESS_TOKEN";
var headers = {
"Content-Type": "application/json",
"Authorization": "Bearer " + token
};
var postData = {
"to": "USER_ID",
"messages": [{
"type": "image",
"originalContentUrl": "IMAGE_URL",
"previewImageUrl": "IMAGE_URL"
}]
};
var options = {
"method": "post",
"headers": headers,
"payload": JSON.stringify(postData)
};
UrlFetchApp.fetch(url, options);
}
このスクリプトは、LINE APIを呼び出して特定のユーザーに画像を送信します。
- 「YOUR_ACCESS_TOKEN」: LINE Developersで発行されたアクセストークンを設定します。
- 「USER_ID」: 画像を送信する対象のユーザーIDを設定します。
- 「IMAGE_URL」: 送信する画像のURLを指定します。
画像送信を実行する
GASでスクリプトを保存し、メニューの「スクリプトを実行」をクリックします。これで設定されたユーザーに画像が送信されます。
練習問題
GASを使って、特定のメッセージをLINE BOTから送信するスクリプトを書いてください。
以下の項目を満たすコードを書いてみましょう。
- テキストメッセージを送信する
- 送信先のユーザーIDを指定する
- アクセストークンを使用する
解答・解説
以下が解答例のコードとその解説です。
function sendTextMessage() {
var url = "https://api.line.me/v2/bot/message/push";
var token = "YOUR_ACCESS_TOKEN";
var headers = {
"Content-Type": "application/json",
"Authorization": "Bearer " + token
};
var postData = {
"to": "USER_ID",
"messages": [{
"type": "text",
"text": "こんにちは!"
}]
};
var options = {
"method": "post",
"headers": headers,
"payload": JSON.stringify(postData)
};
UrlFetchApp.fetch(url, options);
}
このスクリプトでは、LINE APIを使って指定されたテキストメッセージをユーザーに送信します。
- 「YOUR_ACCESS_TOKEN」: アクセストークンは、LINE Developersで発行されたものを使います。
- 「USER_ID」: メッセージを送りたいユーザーのIDを入れます。
- “type”: “text”: メッセージの種類としてテキストを指定します。