絶対に知っておきたい!Google Apps Scriptを外部から実行する方法


GASをWebアプリケーションにデプロイしよう
GASを外部から実行するためには、最初にスクリプトをWebアプリケーションとしてデプロイする必要がある。これが第一歩さ。
GASプロジェクトを作成
まず、GASのプロジェクトを作成しよう。
function doGet(e) {
return ContentService.createTextOutput("Hello, world!");
}
このスクリプトはGETリクエストを受け取ると、”Hello, world!”と返す単純なものだ。
Webアプリケーションとして公開する
次に、このスクリプトをWebアプリケーションとして公開しよう。手順は以下の通りだ。
1. GASエディタの右上にある「デプロイ」をクリック。
2. 「新しいデプロイ」を選択し、「Webアプリケーション」としてデプロイ。
3. プロジェクト名や説明を入力し、アクセスを「全員(匿名含む)」に設定。
この設定をすれば、GASを外部から実行可能な状態にできる。
外部からGASを呼び出す方法
Webアプリケーション化したスクリプトは、URLでアクセスされると実行される。これを使ってGASを外部から実行する。
URLを取得する
デプロイ後のURLを取得し、外部からアクセスしてGASを呼び出す。
1. デプロイしたプロジェクトのURLを確認。
2. このURLが外部からのGAS実行用のエンドポイントだ。
外部システムからアクセスする
外部のシステム、例えば別のWebアプリケーションやクライアントサイドのJavaScriptからこのURLを使ってリクエストを送る。
fetch('https://your-project-url').then(response => response.text()).then(text => console.log(text));
このコードでGASを呼び出し、実行結果をコンソールに出力できる。

練習問題
以下の条件を満たすGASをWebアプリケーションとしてデプロイし、外部から実行できるようにせよ。
- GETリクエストで「おはよう」と返す。
- 自分のプロジェクトに公開できるようにする。
解答・解説
まずは、GASプロジェクトで以下のスクリプトを作成する。
function doGet(e) {
return ContentService.createTextOutput("おはよう");
}
このスクリプトを使い、Webアプリケーションとしてデプロイ。その後、デプロイされたURLにアクセスすると「おはよう」というメッセージが返ってくる。
ContentService.createTextOutput()はテキストを返すためのクラスだ。doGet(e)はHTTP GETリクエストを処理するための関数だ。
