0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GAS ウェブアプリとしてデプロイしている処理のログをスプレッドシートに出力してみる

Posted at

概要

ウェブアプリとしてデプロイしているGASのスクリプトのログをスプレットシートに出力する方法を簡単にまとめる。

前提

ウェブアプリとしてデプロイし、POSTリクエストで動作するGASのコードは下記

function doPost(e) {
  Logger.log('関数は実行されました');

  // オブジェクトの定義
  const data = {
    message: "Hello, World!",
  };
  
  const jsonData = JSON.stringify(data); // jsのオブジェクトからJSONを生成
  const jsonOutput = ContentService.createTextOutput(jsonData); // GASから返すコンテンツを作成
  jsonOutput.setMimeType(ContentService.MimeType.JSON); // 返すコンテンツのMimeタイプを明示的にJSONに設定
  
  return jsonOutput;
}

方法

  1. post_logという名前でスプレットシートを作成(筆者はわかりやすいようにGASのファイルと同階層にpost_logのスプレットシートを追加した。)

    CleanShot 2024-12-05 at 23.19.11@2x.png

  2. post_logのスプレットシートを開き、スプレットシートのURLからスプレットシートのIDを確認・メモ(スプレットシートのIDはスプレットシートのURLの/spreadsheets/d/ここがスプレットシートのID/editの「ここがスプレットシートのID」の部分を確認)

  3. 下記のようにGASのコードを修正

    function doPost(e) {
      // スプレッドシートIDを指定
      var spreadsheetId = 'スプレットシートのID';
      
      // スプレッドシートを開く
      var sheet = SpreadsheetApp.openById(spreadsheetId).getActiveSheet();
      
      // ログをスプレッドシートに追加
      sheet.appendRow(['関数は実行されました', new Date(), JSON.stringify(e.parameters)]);
    
      // オブジェクトの定義
      const data = {
        message: "Hello, World!",
      };
      
      const jsonData = JSON.stringify(data); // jsのオブジェクトからJSONを生成
      const jsonOutput = ContentService.createTextOutput(jsonData); // GASから返すコンテンツを作成
      jsonOutput.setMimeType(ContentService.MimeType.JSON); // 返すコンテンツのMimeタイプを明示的にJSONに設定
      
      return jsonOutput;
    }
    
  4. GASのコードをデプロイ

  5. デプロイ時に下記が出たら「アクセスを承認」をクリック

    CleanShot 2024-12-05 at 23.35.40@2x.png

  6. 警告が出る可能性があるが、自身が作ったスプレットシートに自身のGASでアクセスするだけなので権限を付与

    CleanShot 2024-12-05 at 23.36.32@2x.png

  7. デプロイ後のウェブアプリのURLをコピーしPOSTのリクエストを送信(筆者は自前のSlackコマンドと当該のGASを紐づけているので、そちら経由で実行してみる)

  8. スプレットシートを確認し、下記のようにログが出ていたら完了

    CleanShot 2024-12-05 at 23.43.21@2x.png

参考文献

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?