Google Apps Script のオブジェクトは全部GAS専用? 🤔
結論から言うと、「全部がGAS専用ではない」です。
🔹 GASの世界のオブジェクトは大きく2種類
① JavaScript標準で使えるもの
これは どこでも使える普通のJavaScriptの機能です。
例:
-
Math.random()→ 乱数を作る -
Date→ 日付オブジェクト -
Array,String,Object→ 配列・文字列・基本オブジェクト -
for,if,let→ 文法
👉 これらは ブラウザのJavaScript でも Node.js でも使えます。
② GAS専用で追加されたサービスオブジェクト
Googleが用意した「Googleのサービスにアクセスするための特別なオブジェクト」です。
例:
-
Logger→ ログ出力(GAS専用) -
SpreadsheetApp→ スプレッドシート操作 -
DocumentApp→ Googleドキュメント操作 -
GmailApp→ Gmail送信 -
DriveApp→ Googleドライブ操作 -
UrlFetchApp→ 外部API呼び出し
👉 これは GAS上でしか動きません。
ブラウザJSやNode.jsで書くと「未定義エラー」になります。
🔹 まとめ
-
共通のもの →
Math,Date, 配列, 文字列 など → どのJavaScript環境でも使える -
GAS専用のもの →
Logger,SpreadsheetApp,DriveAppなど → GASでしか使えない
つまり、GASのコードは
「JavaScriptの基本」+「Google専用サービス」 の組み合わせでできています。
🔹 よく使う主要オブジェクト早見表
初心者が最初に触る機会の多いオブジェクトを表にまとめました。
| オブジェクト | 用途 | 代表的なメソッド例 |
|---|---|---|
Logger |
ログ出力 | log() |
SpreadsheetApp |
スプレッドシート操作 |
getActiveSpreadsheet() / getActiveSheet()
|
DocumentApp |
Googleドキュメント操作 |
create(), getBody()
|
GmailApp |
Gmail送信 | sendEmail() |
DriveApp |
Googleドライブ操作 |
getFiles(), getFileById()
|
UrlFetchApp |
外部API呼び出し | fetch() |
PropertiesService |
スクリプトやユーザーの設定保存 |
getScriptProperties(), getUserProperties()
|
Session |
実行中ユーザー情報取得 | getActiveUser().getEmail() |
Utilities |
日付・エンコード・タイマー系 |
formatDate(), sleep()
|
🔹 まとめ(再)
- GASはJavaScriptベースなので、標準的なJSの文法やオブジェクトは共通。
- そこに Google専用のサービスオブジェクト が追加されている。
- 初心者はまず
LoggerとSpreadsheetAppを覚えるとスムーズ。