前提
今回はgoogleformとspreadsheetをGASによって自動化するものを作成していきます。
その中でclaspというものを使用し、GitやGitHubで管理しようという話です。
細かいフォームやシートの中身は割愛してコードの管理方法とフォームの作成から自動集計についての大枠のみを抜粋して話していきます。
一連の流れは「シートAのデータをもとにフォームを自動で作成、更新できるようにし、一度フォームの回答をシートBに集めてそれを集計」という流れです。
この記事の内容では再利用性を考えてスタンドアロン型で作成していきます。
環境
今回はclaspとGitというものを使用してGASをローカルで開発しようとするものなのでnode.jsのインストールが必要になります。主は今回WebStormというものを使用しますがそのほかのエディタでも特に問題ありません。
claspとは???
claspとはGAS(Google Apps Script)をローカル環境とつなぐツールです。
できることをもう少し詳しく記述します。
- ローカル側のコードをGAS側へpush
- GAS側のコードをローカル側へpull
上記の2つをすることで同期させます。
今回はそれと合わせてGitやGitHubで管理しようという話です。
GitとGitHubについては次回の内容で設定を行っていきたいと思います。
claspを導入してみよう
npm install -g @google/clasp
を実行しclaspをインストールします。
そして、ログインするために以下のコマンドを実行します。
clasp login
そうすると自動でブラウザが開き、ログインするアカウントを聞かれます。
その際に選択した後「clasp – The Apps Script CLI がアクセスできる情報を選択してください」と聞かれますがこれはすべてチェックで続行してください。
そうするとログインが完了するのでそのまま閉じてエディタに戻って大丈夫です。
ここまでで環境は完成です。
では実際にこの状態のエディタからGoogleAppScriptを作成します。
既存のものを使用したい場合もあると思うので新規の場合と既存の場合を両方記述しておきます。
clasp create #新規で作成する場合
clasp clone "プロジェクトID" #既存のものを使用する場合
初めての場合設定等でエラーになると思うのでこちらでエラー対策も記述しておきます。
エラー対策
User has not enabled the Apps Script API. Enable it by visiting https://script.google.com/home/usersettings then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.
と出る場合があります。その場合はエラーにあるURLを開きます。以下の画面が出るので設定を変更してください。
ここでもう一度コマンドを再度実行してみましょう
Created new script: https://script.google.com/d/プロジェクトID/edit
└─ appsscript.json
Cloned one file..
新規作成の場合はログがこのようになれば完了です。
実際にこのURLをクリックするとプロジェクトに飛ぶことができるのでぜひ確認してください。
実際にpushとpullを行ってみましょう。
チュートリアルとしてまず初めにエディタ側でindexファイルを作成してみましょう。
console.log("Hello World");
これをGAS側へ同期させるためにpushしてみましょう。
そのためのコマンドがこちらです。
clasp push
実際にまたGASを開いて確認してみましょう。同期されていないときは更新してみてください。
それが確認出来たら次にGASで更新した内容を同期してみましょう。
そこにGAS側からもう一行追加してみましょう。
console.log("Hello World");
console.log("hoge");
これができたらエディタ側で同期してみましょう。
clasp pull
これが成功すると同期できます
次回の記事ではGitとGitHubのインストールや登録方法について解説します。

