GAS(Google Apps Script)とはなにか
GASはGoogleが提供しているプログラミング言語の一種で特に注目したい特徴はなんといってもGoogleのサービスが簡単に利用できる点です。
さらにこの言語はデプロイすることでURLが発行されそのURLにGETやPOST通信をするとある関数が実行されます。
この2つの特徴を組み合わせればURLにGET通信をするとスプレッドシートにアクセスしてデータをレスポンスとして返すことなども可能です。
このようにWeb APIをGASで作る方法を手順を示して作成していきましょう。
この言語はウェブ上でプロジェクトの作成、編集、デプロイが全てできます。
GASでWeb APIを作成する手順
- GASのプロジェクトの作成
- コードの作成
- デプロイ
1. GASのプロジェクトの作成
プログラムを書くためにはまずプロジェクトを作成する必要があります。
GASのプロジェクトページにアクセスしてください。
Googleアカウントにログインしていない場合はログインを求められるのでログインしてください。
ページにアクセスしたら左上にある新しいプロジェクトを作成する
というボタンを押します。
これでGASのプロジェクトがログインしているアカウントのGoogle Driveに作成されるようになります。
任意のGoogle DriveのフォルダーでGASのプロジェクトを作成したい場合はGoogle DriveからGASプロジェクトを作成してください。
ファイル名はGASのエディタの左上やGoogle Driveから任意で変更してください。
2. コードの作成
実際にコードを書いていきます。
以下のコードをエディタにうつしてください。
最初から不要なコードが書かれているので全て消しておくことをおすすめします。
function doGet(e) {
var html = HtmlService.createTemplateFromFile("ファイルの名前");
return html.evaluate();
};
1行ずつ解説していきますがその前に大前提としてこの言語はJavaScriptベースなので基本の構文は一緒です。
なのでこのコードはdoGet
関数といいます。
もちろんこれ以外の名前の関数にしてはいけません。なぜならこの関数はGET通信されたときに実行される関数だからです。
さらにパラメーター(この場合eというパラメーター)にはGET通信された時の情報が格納されます。
eに関しては一般的にeと名付けられているだけなので他の名前にしても構いません。
2行目ではレスポンスとしてHTMLファイルを返すためにファイル名を指定するコードです。
HtmlService.createTemplateFromFile("ファイルの名前")
でGASプロジェクト内のHTMLファイルを参照するコードです。
しかしまずはGASでそのHTMLファイルを作成しないといけません。
エディタの+ボタンを押し、HTMLを選択します。
名前を指定し保存します。(今回はindex
という名前で保存します。)
すると上記のように最初からコードが書かれていると思います。
本来なら全て消して自分のHTMLコードを貼り付けるのですが、今回はこのままでbodyタグに適当にhello world
などの文字を入れておいてください。
HtmlService.createTemplateFromFile("ファイルの名前")
のファイルの名前という部分はindexという名前にしているのでindex
に変えておいてください。
3. デプロイ
それでは実際にデプロイしてテストしてみましょう。
下記のように右上のデプロイ
というボタンを押し、初めてのデプロイなので新しいデプロイ
を選択してください。
するとデプロイの設定画面が出るので下記のように設定アイコンを押し、うぇぶあぷり
を選択します。
選択すると上記のように新しい説明文
に任意でタイトルを付け、アクセスするユーザー
を全員に変更してください。
真ん中の次のユーザーとして実行
は自分のアカウントにしておいてください。そうしないと権限の問題で実行に支障が起きる場合があります。
デプロイボタンを押し、少し待つとURLを発行されるはずなのでそのURLをコピーしておいてください。
権限の問題でログインをしておかないといけない場合があるのでその時はログインしてください。
完了を押し、コピーしたURLにアクセスしましょう。
すると前に書いたHTMLが表示され、hello world
などの文字が出てきているはずです。
このように表示されれば基本の枠組みが完成しました。
ここからはGoogleのサービスと組み合わせたり、LINE APIなどを使って実用的なウェブアプリを作れます。
そちらに関しては他の人の記事を参考にしてもらえるといいと思います