読んでみた(詳解! Google Apps Script完全入門 [第3版])Part2
- はじめに
- 第8章:SpreadSheet(SS)
- 第10章:GoogleDrive(GD)
- 第16章:Baseサービス
- 第17章:ユーザーインターフェース
- 第18章:
- 第19章:
- 第20章:
- 第21章:
- 第22章:外部サイトへのアクセス
- 第23章:ライブラリ
はじめに
Part1に続いて、GAS本格入門を読んだので、まとめてみました。
Part1では、GASの基礎のキソや、JavaScriptに依る基本機能についてです。。
今回のPart2では、Googleサービスとの連携に関する詳細機能についてまとめます。
第8章:SpreadSheet(SS)
- SSの各クラスは以下の階層構造になっている
- SpreadSheetApp
- SpreadSheet
- Sheet
- Range
- getActiveSS/Sheet/Rangeで、対象をセットする。
ただし、GASは実行時間が遅い既知の事実があります。
そのためコンテナバインド型の場合には、
SSAppクラスとSSクラスを順々に読まずに、getActiveSheet()をそのままセットすることで効率的に実行できる。 - SSに限らずサービスでは、URLがあれば、そこからIDを取得できる
- 表の利用はできるだけA1セルから使うのが良い
(getRangeする時のための読み込み効率化) - 値の設定
- setValues:値を書き込む
- setFormula:数式を書き込む
- GASで作成した関数をSSからコールして利用することができる
(※その際は大文字で表記する)
第10章:GoogleDrive(GD)
- GDの各クラスは以下の階層構造になっている
- DriveApp
- Folder
- File
- 上記以外に反復処理用に、
FolderIteratorとFileItaratorが存在する。 - フォルダ/ファイルを以下の条件で検索して取得することができる
- title
- parents:親フォルダのフォルダID
- メールアドレスをキーとして、
指定のドライブにおけるフォルダ/ファイルに対して、アクセス権付与ができる。- FileObject.addEditor
- FolderObject.addEditor
第16章:Baseサービス
- console、logger、Browserなどの基本機能を受け持つクラスが用意されている。
- logger :Pythonと同じ(log、info、warn、error)
- User、Session:アカウント情報などを取得できる
第17章:ユーザーインターフェース
- SSでも、getUiすることで、alertメソッドが利用できる。
- つまり、ダイアログ表示が簡易的に実現できる
- 「はい/いいえ」「OK/キャンセル」などボタン埋め込みもできる
- 入力ボックスも作れる
第18章:
- 論理
第19章:
- 論理
第20章:
- プロパティには3種類ある
- プロパティの設定例
- const xxxProperties = PropertiesService.getXxxProperties();
xxxProperties.setProperties = {"key": "value"};
- const xxxProperties = PropertiesService.getXxxProperties();
第21章:
- SciprtIDは、コンテナバインド型であることから、
設定ファイルでの管理ではなく、ScriptAppクラスを定義したのちに、getScriptIdするのが良い。
第22章:外部サイトへのアクセス
- Url Fetchサービスで、HTTPリクエストの送信やHTTPレスポンスを解析することができる。
- UrlFetchApp:送信クラス
- HttpResponse:解析クラス
- 以下のfetchメソッドを使い分ける
- fetch:Return=HttpResponse
- fetchAll:Return=HttpResponse[]
- getRequest:Return=リクエストを示すObject
- HttpResponseクラスに対しては、以下のメソッドが利用できる
- getResponseCode()
第23章:ライブラリ
- 論理
その他
- コンテナバインド式なので、SSAppではなく直でgetActiveSheet()する。
- フォルダ/SSへのアクセス権限付与も合わせて行う。
- appscript.json
- TIMEZONEを付与すること。