7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

GASとLINEBOTの連携(失敗)(備忘録)

Last updated at Posted at 2022-01-06

自分が失敗したからには他にもやってしまった人がいるだろう
1匹いれば10匹はいる。(ゴキブリ理論)
ということで備忘録です。

gasとLINEBotを連携させてぇ!!!

参考にしたサイト
https://www.dcom-web.co.jp/lab/bot/make_a_line_bot_with_gas

上記サイトを取り合えずコピペ。
しかし、動作せず....

動かなかったコード.gs
function myFunction() {
  var access_token = "YOUR_ACCESS_TOKEN"
  // リプライ先を特定するためのログ管理スプレッドシートID
  // ご飯リストのスプレッドシートID
  var spreadsheet_id = "spread_id"
 
  /**
   reply
  */
  function reply(data) {
    var url = "https://api.line.me/v2/bot/message/reply";
    var headers = {
      "Content-Type" : "application/json; charset=UTF-8",
      'Authorization': 'Bearer ' + access_token,
    };
    var text = "";

    if (data.events[0].message.text === "ご飯") {
      // ご飯リストスプレッドシートを取得
      var gohan = SpreadsheetApp.openById(spreadsheet_id).getSheetByName("ごはん");
      // A1セルから入力されている最終行まで一気に取得
      var gohanData = gohan.getRange(1, 1, gohan.getLastRow());
      // ランダムで候補を選ぶ
      var intRandomNum = Math.round(Math.random()*gohan.getLastRow());
      
      text = gohanData.getValues()[intRandomNum][0];
    }
    else {
      text = "「ご飯」って話しかけてね。"
    }
  
    var postData = {
        "replyToken" : data.events[0].replyToken,
        "messages" : [
          {
            'type':'text',
            'text':text,
          }
        ]
      };
  
    var options = {
      "method" : "post",
      "headers" : headers,
      "payload" : JSON.stringify(postData)
    };
  
    return UrlFetchApp.fetch(url, options);
  }
  
  /**
   LINEからのPOST受け取り
  */
  function doPost(e) {
    var json = JSON.parse(e.postData.contents);
    var data = SpreadsheetApp.openById(spreadsheet_id).getSheetByName('log').getRange(1, 1).setValue(json.events);
  
    reply(json);
  }
}

理由

myFunctionで囲ってたから!!!
はい、すみません。外側はいりませんでしたね。失礼しました。

解決してくれたteratail様
https://teratail.com/questions/299802

7
3
0

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
7
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?