ご訪問ありがとうございます。
Googleシートマスターのひろしです。
前回
今回は、GoogleスプレッドシートからあなたのLINEに
メッセージを送れちゃう方法をお伝えします。
この記事を読むことであなたは、
- 簡単にスプレッドシートからLINEにメッセージが送れます。
- スプレッドシートに貼り付けたボタンからマクロを起動することができます。
たとえあなたが
あなた:「マクロなんか嫌!てかGASって何?」
っていう状態でGAS(Google Apps Script)が
何のことかわからなくても
まったく大丈夫です。
あなたの大好きなコピペだけで
スプレッドシートに書いた文字列が
LINEに送られるようになります。
準備するもの
あなた:「えーっと、準備するものは。」
あなた:「LINEのアカウントにグループと。それから、ん、トークン?」
あなた:「トークン?」
大丈夫です。それもコピペでOKです。
とにかく最終的には、スプレッドシート上の
「LINEへ送信」ボタンをクリックするだけで
スプレッドシートに書いた文字列が
こんなふうにあなたのLINEに送られます。
スプレッドシートとあなたのLINEが
融合する奇跡の瞬間です。
マインドセットします。
ちょっとコピペするだけで奇跡の瞬間が訪れる
ぶっちゃけ、ちょっとメンドイ作業ですが、
ここまで読んでくださった「意識高い系」の
あなたであれば、必ず実現できます。
では、動画を見ながら
実際に設定してみてください。
動画はこちら
以下は、動画内で出てきた説明箇所です。
トークルームの作成
ちょっと説明が冗長ですが、ようは、
LINEのグループを用意すればいいだけです。
Step1.
①上の(吹き出しマーク)をクリック
Step2.
[グループ]をタップする
Step3.
①[次へ]をクリックする
Step4.
①適当に名前を入力する
②[作成]をクリックする
Step5.
出来上がり
LINE Notify APIの登録
LINE Notifyを招待する
Step1.
①右上の三本線をクリックする
Step2.
①招待をタップする
Step3.
①LINE Notifyをタップする
②招待をタップする
使用するスクリプト
var LINE_NOTIFY_TOKEN = "ラインのトークン";
var LINE_NOTIFY_API = "https://notify-api.line.me/api/notify";
//LINEにメッセージを送る
function sendLineMessage(msg) {
var response = UrlFetchApp.fetch(LINE_NOTIFY_API, {
"method": "post",
"headers": {
"Authorization": "Bearer " + LINE_NOTIFY_TOKEN
},
"payload": {
"message": msg
}
});
}
//test
function main() {
sendLineMessage("テストです");
}
//スプレッドシートから送信
function sendSpMsg() {
var sheet = SpreadsheetApp.getActiveSheet();
var values = sheet.getRange("A1").getValue();
sendLineMessage(values);
}
使用したシートはこちら
※クリックするとシートが開きます。
では、今回のGoogleシートマスターへの究極の方法です。
以上です。
では、早速 スマホを手に取り、LINEに通知用の
グループを用意してください。
今すぐです。
スプレッドシートからLINEに
メッセージが届いたら動画にGoodクリックを
お願いします!
もし、うまくいかない場合は、
動画のどこ(分秒)がうまくいかないのかを
ブログ下のコメント欄で教えてください。
最後までご覧いただきありがとうございます。
複数のセルを送る場合はこちら
さらにスタンプ付きの場合はこちら
コメント
はじめまして。さっそく試してみたところ、ツールのスクリプトという項目が見当たらないのですが、他にどこにありますでしょうか。
動画のどのあたりでしょうか?
具体的なタイムスタンプ(分秒)を教えていただけると助かります。
こんにちは、いつも素敵な記事を書いてくださいましてありがとうございます。
やりたいことはこんなことなのですが、具体的な記事がなく困っております。
スプレッドシートで日々の温泉の入浴者数を書いていきます。遠隔地で月末集計をした数字をもとに入湯税を払います。
月末になると、スプレッドシートのデータをラインに送りたいです。
合計を送るというよりはその表そのものを送りたいです。
送られてきた人は印刷して提出し、お金を払います。
いかがでしょうか?
やることは
1.集計するシートを作成する
2.月末にシートのURLをLINEで送付する
2.は、トリガーを設定するだけなので簡単かと。
後は1.の集計するシートの仕様を明確にすることですね。
はじめまして。
スクリプトをコピーしまして、保存、そして実行をしますと下記のようなエラーが出ております。
Exception: Request failed for https://notify-api.line.me returned code 400. Truncated server response: {“status”:400,”message”:”message: must not be empty”} (use muteHttpExceptions option to examine full response)
ご教授の程、宜しくお願い致します。
追記:上記の英文の下に、この文字が表記されております。
sendLineMessage @ コード.gs:6
さとるさんコメントありがとうございます。
実行した関数は、なんですか?
動画と同じ操作をしていると思いますが、
具体的に、何分何秒の操作で上記エラーが発生していますか?
素敵な記事配信ありがとうございます。
動作はバッチリ問題ないのですが
[test] テストです
↑この[test]という表記はどうすれば消えますでしょうか。
構文を見ても全くわからず苦心しています・・・。
https://youtu.be/ro1X5IPjMqk?t=183
のトークン名で指定した「test」表示されているのだと思います。
トークン名を変えれば、変更できると思いますが、
削除はできないと思います。
こんにちは!質問させてください。
このスクリプトを参考に初めてLINEへスプレッドシートの内容を送信するのをチャレンジしました。
単体のセルを送信する事は出来ましたが、複数のセル
例えば(A1:C10)迄、といった複数のセルに入力されている文字列を送信したいのですが、うまくいきません。
独自に調べて、
//スプレッドシートから送信
function sendSpMsg() {
var sheet = SpreadsheetApp.getActiveSheet();
var values = sheet.getRange(‘A1:C10’).getValue();
sendLineMessage(values);
}
のgetValue(); をgetValues();としてみてもだめでした。
どうしたら、上手くいくでしょうか?
複数のセルの場合、ちょって面倒くさくて、getValues()で取得しさらにセルをひとつづつ結合させる必要があります。
https://technical.verybestcbp.com/sendmline/
こんにちは。
コピペして実行してみましたが、さとるさんと同エラーが発生して送れません。
実行ボタンを押下して1秒でエラー発生です。
どうしたらよいのでしょうか?
実行した関数は、なんですか?
動画と同じ操作をしていると思いますが、
具体的に、何分何秒の操作で上記エラーが発生していますか?
こんにちは。いつも素敵な記事ありがとうございます!
一点ご質問がありコメントさせていただきます。
複数のLINEグループへ向けてメッセージを送信したいと考えております。
こちらの記事ですと1グループに向けて送信する構文かと思います。
そこでGASでは複数のトークンを取得し複数のグループへ送信することは可能でしょうか?
ExcelVBAを使用して上記のような一斉送信するような物は開発したことはありますが、GASではどうしたら良いかわからず、お知恵をお借りしたいと思います。
よろしくお願いいたします。
想像だけの話ですが、ラインのトークンをもう一つ取得し
var LINE_NOTIFY_TOKEN2 = “ラインのトークン2”;
var response = UrlFetchApp.fetch(LINE_NOTIFY_API, {
“method”: “post”,
“headers”: {
“Authorization”: “Bearer ” + LINE_NOTIFY_TOKEN2
},
“payload”: {
“message”: msg
}
});
を追加すればうまくいくのでは?と思います。
実際に動いているVBAを提供いただければ、もう少し
クリティカルな回答ができるかと思います。
ご返信ありがとうございます。
function内に追加したところ上手く動作いたしました!
ありがとうございます!
実際に運用しているVBAに関しては
Excel上でLINEグループリストを作成し、任意の送信したいLINEグループに対して●チェックをして複数に向けて送信しているようなものになります。
例えばグループリスト50個あるうち15グループに●チェックしメッセージを送信するみたいなものです。
提供可能ですが、どのように提供すればよろしいでしょうか?
>function内に追加したところ上手く動作いたしました!
よかったです。
動作したのであれば、VBAスクリプトをご提供いただかなくて結構です。
var response = UrlFetchApp.fetch(LINE_NOTIFY_API,
この部分が原因でエラーが出てテスト文すらlineに届かないのですがどうすればいいですか?
LINE_NOTIFY_APIは、正しく設定していますか?
もう少し情報がないと何とも言えないです。