Google Apps Script には、スクリプトとやり取りするための 30 を超える組み込みサービスが
ユーザーデータ、Google の他のシステム、外部システムなどです。これらのサービスは、
グローバル オブジェクトとして提供され、JavaScript の標準
Math
渡されます。たとえば、Math
が random()
や
PI
、Apps Script の
スプレッドシート サービスでは、
openById(id)
,
などのクラス(子オブジェクト)に
Range
、および次のような列挙型があります。
DataValidationCriteria
Google Cloud リソースを管理するサービスのリファレンス ドキュメントは、 Google Workspace 個の商品が 「Google Workspace サービス」セクションにある "参照"このサイトのサイドバーに表示されます。公共事業 (ユーザー インターフェースの作成、XML の解析、ログデータの書き込みなど)に関する情報が収集され、 [スクリプトサービス]で。
最新の JavaScript の機能
Apps Script では、2 つの JavaScript ランタイムがサポートされています。 V8 ランタイムと Mozilla が提供する古いランタイム Rhino JavaScript インタープリタ。
V8 ランタイムは、 ECMAScript の構文と機能。 Rhino ランタイムは、古いバージョンと JavaScript 1.6 Google Workspace の標準機能に加え、 1.7 および 1.8. ランタイムを自在に選択できる スクリプトで使用することもできますが、V8 ランタイムを使用することを強くおすすめします。
各ランタイムは、使用可能な JavaScript クラスとオブジェクトをサポートしています。
組み込みのメカニズムと、
Google の高度なサービス。お客様の
スクリプトでは、一般的なオブジェクトを使用して
Array
Date
,
RegExp
,
など
および
Math
、
Object
グローバル オブジェクトです。
予測入力の使用
スクリプト エディタには「コンテンツ アシスト」機能があり、必要があります。これは、一般的に "予測入力"グローバル オブジェクト、メソッド、列挙型を確認できます 存在する必要があります。予測入力の候補が表示される グローバル オブジェクト、列挙型、メソッドの後にピリオドを入力すると、自動的に 呼び出します。例:
- グローバル オブジェクトの完全な名前を入力するか、予測入力からグローバル オブジェクトを選択すると、
.
(ピリオド)と入力すると、そのクラスのすべてのメソッドと列挙型が表示されます。 - 何文字か入力すると、有効なすべての文字が その文字で始まる別の候補を表示します。
グローバル オブジェクトについて
各サービスは少なくとも 1 つのグローバル(トップレベル)オブジェクトを提供します。たとえば
Gmail サービスには
GmailApp
オブジェクト。一部のサービス
複数のグローバル オブジェクトを提供します。たとえば
基本サービスには、次の 4 つのグローバル オブジェクトが含まれます。
Browser
,
Logger
,
MimeType
および
Session
呼び出し方法
組み込みのほぼすべての組み込みオブジェクトまたは 拡張サービスには、 データまたは Apps Script クラスを返します。スクリプトによるメソッド呼び出しの形式は次のとおりです。
GlobalObjectName.methodName(argument1, argument2, ..., argumentN);
たとえば、スクリプトで
sendEmail(recipient, subject, body)
アップロードします。
GmailApp.sendEmail('claire@example.com', 'Subject line', 'This is the body.');
メソッドが別の Apps Script クラスを返す場合、1 つの Apps Script クラスでメソッド呼び出しを連結できる
追加します。(戻り値の型は予測入力とメソッドの参照内の両方に表示されます)
documentation.)たとえば、
DocumentApp.create()
Document
を返します。したがって、
次の 2 つのコード セクションは同等です。
var doc = DocumentApp.create('New document');
var body = doc.getTab('t.0').asDocumentTab().getBody();
body.appendParagraph('New paragraph.');
// Same result as above.
DocumentApp.create('New document').getTab('t.0').asDocumentTab().getBody()
.appendParagraph('New paragraph.');
子クラスへのアクセス
どのサービスにも、アクセスできない子クラスが 1 つ以上含まれている
グローバル オブジェクトと同様に使用できます。new
キーワードを使用して以下のことを行うことはできません。
などの標準の JavaScript クラスと同様に、これらのクラスを作成します。
Date
、
子クラスにアクセスするには、その子クラスを返すメソッドを呼び出す必要があります。もし
特定のクラスへのアクセス方法がわからない場合は、
必要なクラスを返すメソッドを探します。
インターフェースの取り扱い
少数のサービスには、「インターフェース」というラベルの付いた特殊なクラスが含まれています。
ご覧ください。これらは戻り値の型として使用される汎用クラスです。
正確な型を事前に判断できないメソッドの場合たとえば
Document サービス メソッド
Body.getChild(childIndex)
汎用の Element
オブジェクトを返します。
Element
は、他のクラスを表すインターフェースです。
Paragraph
または
Table
。インターフェース オブジェクトはほとんどが
役立ちます。通常は
Element.asParagraph()
正確なクラスにキャストし直す必要があります。
列挙型の操作
ほとんどのサービスには、名前付き値の列挙型(列挙型)がいくつか含まれています。対象
ドライブ サービスは列挙型を使用します。
Access
、
Permission
でどのユーザーが
アクセスを許可できます。ほとんどの場合、これらの列挙型には
取得されます。たとえば、このメソッドの呼び出しは、
Folder.setSharing(accessType, permissionType)
次のようになります。
// Creates a folder that anyone on the Internet can read from and write to. (Domain administrators can
// prohibit this setting for Google Workspace users.)
var folder = DriveApp.createFolder('Shared Folder');
folder.setSharing(DriveApp.Access.ANYONE, DriveApp.Permission.EDIT);