下記のようなフォルダ構造になっていることを前提としています。当てはまらない場合はCode.gs
のcollectTargetDocuments()
を適当に書き換えてください。
- 親フォルダ
- 子フォルダ 1
- スクリプトを仕込みたいドキュメント
- 古いドキュメント
- それ以外のドキュメント
- 子フォルダ 2
- スクリプトを仕込みたいドキュメント
- ...
- 管理対象外フォルダ
- 子フォルダ 1
Code.gs
、appsscript.json
をこのフォルダ内にあるものと置き換える- スクリプトエディタでは「表示>マニフェストファイルを表示」が有効になっていないと表示されないので注意
- ファイル名の頭に
dist/
を付けて仕込みたいスクリプトを書く dist/appsscript.json.html
は必ず入れる必要がある。依存ライブラリ等ない場合はdist/appsscript.json.htmlの通りで良いはず- Apps Script の仕様で拡張子
*.json
は基本的に作成できないので HTML として置いておく
- Apps Script の仕様で拡張子
Code.gs
に所要の設定を書き込む- メニューの「リソース> Google の拡張サービス」から Google API コンソールを開く
- 「Google Drive API」と「Apps Script API」を有効にする
Code.gs
のdeploy()
を蹴る
dist/
以下に仕込みたいスクリプトを入れる- Apps Script と clasp の仕様で
*.gs
、*.html
とルート直下のappsscript.json
しかアップロードできない *.js
も一応アップロードは可能だが、*.gs
へとアップロード時にリネームされる*.js
も Apps Script として正しいものでないとバリデーションエラーになり、アップロードに失敗する- 他のファイルは
*.html
にリネームする必要がある dist/appsscript.json
はdist/appsscript.json.html
にリネームする必要がある。そのままだとアップロードできないので- このファイルは必須
- Apps Script と clasp の仕様で
.env.example
を.env
にコピーする.env
を編集するyarn deploy:push
(あるいはnpm run deploy:push
) を叩く- ブラウザにスクリプトエディタが表示されるので、所要の設定を書き込む
- メニューの「リソース> Google の拡張サービス」から Google API コンソールを開く
- 「Google Drive API」と「Apps Script API」を有効にする
Code.gs
のdeploy()
を蹴る
.gitignore
で.clasp.json
をバージョン管理対象から外しています- Error 400: invalid_scope · Issue #303 · google/clasp
- 2018-09-02 現在、clasp のソースを少しいじらないとログインに失敗する模様
sed -i 's!^.*https://www.googleapis.com/auth/logging.read!// \0!' node_modules/@google/clasp/src/auth.js
パブリックドメイン、CC0 と Unlicense のトリプルライセンスとします。