LoginSignup
16
13

More than 1 year has passed since last update.

40 代おっさんGAS使ってLINE Botで値をスプレッドシートに書き込みしてみる!

Last updated at Posted at 2022-02-28

本記事ついて

本記事は プログラミング初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。

目標

・セルにとりあえず何かの値を突っ込む‼
・まだ考えていないが、ケアマネ業務で外に出たときにLIENから簡単なことをスプレッドシートに入れれるようにする‼
*PCあれば問題ない、ケアマネならノートPCを持っていない人も居るかもしれない‼
そんな人を助けるのだ‼

スプレッドシートに書き込みする

スプレッドシートを用意

前回のを使いまわし
前回が気になる方は

https://qiita.com/kou1121/items/d9fb96bea9bfa5d125b8

スプレッドシート2.PNG

コードを用意

// LINE Message API チャネルアクセストークン
const ACCESS_TOKEN = "[チャネルアクセストークン]";
// リプライ用のLINE API
const REPLY        = "https://api.line.me/v2/bot/message/reply";

// GoogleスプレッドシートをID取得
const File = SpreadsheetApp.openById('[GoogleスプレッドシートのID]');
//シートをシート名で取得
const baseSheet = File.getSheetByName('シート1');
//行の最期を取得
const lastRow = baseSheet.getLastRow();

/** 
 * ユーザーからのアクションに返信する
 */
function doPost(e) {
  const json = JSON.parse(e.postData.contents);

  //返信するためのトークン取得
  const replyToken = json.events[0].replyToken;
  if(typeof replyToken == 'undefined') {
    return;
  }

  //送られたメッセージを取得
  const message = json.events[0].message.text;
  //LINEメッセージを改行で分割
  const messageParameter = message.split(/\r\n|\n/);

  //セルへの書き込み
  baseSheet.getRange('A' + (lastRow + 1)).setValue(messageParameter[0]);
  baseSheet.getRange('B' + (lastRow + 1)).setValue(messageParameter[1]);

   //リクエストヘッダ
    const headers = {
      "Content-Type" : "application/json; charset=UTF-8",
      'Authorization' : 'Bearer ' + ACCESS_TOKEN //'Bearer 'スペース忘れずに
    };

    //POSTオプション作成
    const options = {
      'method'  : 'POST',
      'headers' : headers,
      'payload' : JSON.stringify(postData)
    };

    return UrlFetchApp.fetch(REPLY, options);
}

新規登録.PNG

新規登録受けて.PNG

このように増えています。

参考資料

https://www.amazon.co.jp/%E8%A9%B3%E8%A7%A3-Google-Apps-Script%E5%AE%8C%E5%85%A8%E5%85%A5%E9%96%80-%E7%AC%AC3%E7%89%88/dp/4798064742

https://qiita.com/rechiba3/items/6e999d1e360442f4f38a

16
13
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
13