dan7
@dan7

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

GASによるLINE送信

解決したいこと

スプレットシートに新規、変更があれば、LINE送信して変更があったことを通知したい。

初心者です。色んなサイトをみてみよう見まねで社内連絡用のBBSを作成しています。
スプレットシートへの投稿などは、@rarara_x16https://qiita.com/rarara_x16/items/c1c6c0e8dc97347d70c1
を参考に作成でしました。
続いては、投稿があればLINE通知することに挑戦していますが、3か月以上悩んでいます。
GAS Aから投稿 ⇒ スプリットシート Bに記載 ⇒ GAS BによりLINE通知
スプレットシートBに手動で直接変更ならGAS BによりLINE通知されます。
GAS Aからのスプレットシートへの自動投稿、変更からですとLINE通知されません。

解決方法を教えて下さい。
以下、GAS Bです。

function sendLineNotification() {
  const ACCESS_TOKEN = PropertiesService.getScriptProperties().getProperty('LINE_ACCESS_TOKEN');
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('data'); // シート名を指定
  const message = 'シートに編集がありました!'; // メッセージを取得

  const options = {
    "method": "post",
    "headers": {
      "Authorization": "Bearer " + ACCESS_TOKEN,
      "Content-Type": "application/json"
    },
    "payload": JSON.stringify({
      "messages": [{
        "type": "text",
        "text": message
      }]
    })
  };

  UrlFetchApp.fetch("https://api.line.me/v2/bot/message/broadcast", options);
}

自分で試したこと

以下の事項を外したり、入れたり、実施しました。
1.また、GAS Bにはトリガー「sendLineNotification」を設定しており、スプレットシートに”変更”があれば発動するようにしています。
2.また、Chrome V8 ランタイムを有効にしてます。
3.「appsscript.json」マニフェスト ファイルをエディタで表示していません。
4.ディプロイも実施していません。

よろしくお願いします。

0

1Answer

こんにちは。BのトリガをOnEditではなくOnChangeに変更する。
または、AのappendRowから直接sendLineNotification()などが修正方法として考えられると思います。

0Like

Your answer might help someone💌