Apps Script プロジェクトの関数を実行します。Apps Script API で使用するためにスクリプト プロジェクトをデプロイする必要があり、呼び出し元アプリケーションは同じ Cloud Platform プロジェクトを共有する必要があります。
このメソッドでは、承認セクションにリストされているスコープを 1 つ以上含む OAuth 2.0 トークンによる承認が必要です。承認を必要としないスクリプト プロジェクトは、この API では実行できません。認証トークンに含める正しいスコープを見つけるには、スクリプト プロジェクトの [概要] ページを開き、[プロジェクトの OAuth スコープ] まで下にスクロールします。
403, PERMISSION_DENIED: The caller does not have permission
エラーは、リクエストの承認に使用された Cloud Platform プロジェクトが、スクリプトで使用されているプロジェクトと同じではないことを示します。
HTTP リクエスト
POST https://script.googleapis.com/v1/scripts/{scriptId}:run
この URL は gRPC Transcoding 構文を使用します。
パスパラメータ
パラメータ | |
---|---|
scriptId |
実行されるスクリプトのスクリプト ID。スクリプト ID は、[プロジェクト設定] ページの [ID] で確認します。 |
リクエスト本文
リクエストの本文には、次の構造のデータが含まれます。
JSON 表現 |
---|
{ "function": string, "parameters": [ value ], "sessionState": string, "devMode": boolean } |
フィールド | |
---|---|
function |
指定されたスクリプトで実行する関数の名前。名前にかっこやパラメータが含まれていません。インクルードされているライブラリ( |
parameters[] |
実行される関数に渡されるパラメータ。各パラメータのオブジェクト型は、Apps Script で想定される型と一致する必要があります。パラメータを Apps Script 固有のオブジェクト タイプ( |
sessionState |
非推奨。Android アドオンでのみ使用します。Google ドキュメントまたはスプレッドシートの Android アプリでのユーザーの現在のセッションを表す ID。アドオンを起動する Intent に追加データとして含まれます。Android アドオンをセッション状態で実行すると、バインドされたスクリプトの権限が付与されます。つまり、ユーザーの現在のカーソル位置(ドキュメントの場合)や選択したセル(スプレッドシートの場合)などの情報にアクセスできます。状態を取得するには、 |
devMode |
|
レスポンスの本文
成功した場合、レスポンスの本文には次の構造のデータが含まれます。
run
で始まる Apps Script 関数の実行の表現。関数の実行が完了するまで、実行レスポンスは届きません。最大実行ランタイムについては、Apps Script 割り当てガイドをご覧ください。
実行が開始されると、次の 4 つの結果のいずれかになります。
- スクリプト関数が正常に返されると、
response
フィールドにはExecutionResponse
オブジェクトが含まれます。このオブジェクトの戻り値は、オブジェクトのresult
フィールドにあります。 - スクリプト関数(または Apps Script 自体)が例外をスローすると、
error
フィールドにはStatus
オブジェクトが含まれます。Status
オブジェクトのdetails
フィールドには、エラーの性質に関する情報を提供する単一のExecutionError
オブジェクトを含む配列が含まれます。 - 実行がまだ完了していない場合、
done
フィールドはfalse
になり、response
フィールドとerror
フィールドのどちらも存在しません。 -
run
呼び出し自体が失敗した場合(リクエストの形式が正しくない、認証エラーなど)、メソッドはレスポンス本文の形式が異なる 4XX の範囲の HTTP レスポンス コードを返します。クライアント ライブラリは、4XX レスポンスを例外クラスに自動的に変換します。
JSON 表現 |
---|
{ "done": boolean, // Union field |
フィールド | |
---|---|
done |
このフィールドは、スクリプトの実行が完了したかどうかを示します。完了した実行には、実行された関数の |
共用体フィールド result 。オペレーションの結果。error または有効な response になります。done == false の場合、error も response も設定されません。done == true の場合、error または response のどちらか一方のみが設定されます。一部のサービスでは結果が返されない場合があります。result は次のいずれかになります。 |
|
error |
|
response |
スクリプト関数が正常に返された場合、このフィールドには関数の戻り値を含む 任意の型のフィールドを含むオブジェクト。型を識別する URI を含むフィールド |
認可スコープ
次の OAuth スコープのいずれかが必要です。
https://apps-apis.google.com/a/feeds
https://apps-apis.google.com/a/feeds/alias/
https://apps-apis.google.com/a/feeds/groups/
https://mail.google.com/
https://sites.google.com/feeds
https://www.google.com/calendar/feeds
https://www.google.com/m8/feeds
https://www.googleapis.com/auth/admin.directory.group
https://www.googleapis.com/auth/admin.directory.user
https://www.googleapis.com/auth/documents
https://www.googleapis.com/auth/documents.currentonly
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/dynamiccreatives
https://www.googleapis.com/auth/forms
https://www.googleapis.com/auth/forms.currentonly
https://www.googleapis.com/auth/groups
https://www.googleapis.com/auth/script.cpanel
https://www.googleapis.com/auth/script.external_request
https://www.googleapis.com/auth/script.scriptapp
https://www.googleapis.com/auth/script.send_mail
https://www.googleapis.com/auth/script.storage
https://www.googleapis.com/auth/script.webapp.deploy
https://www.googleapis.com/auth/spreadsheets
https://www.googleapis.com/auth/spreadsheets.currentonly
https://www.googleapis.com/auth/sqlservice
https://www.googleapis.com/auth/userinfo.email
詳しくは、OAuth 2.0 の概要をご覧ください。
ステータス
run
の呼び出しが成功しても、スクリプト関数(または Apps Script 自体)が例外をスローすると、レスポンスの本文の error
フィールドにこの Status
オブジェクトが含まれます。
JSON 表現 |
---|
{ "code": integer, "message": string, "details": [ { "@type": string, field1: ..., ... } ] } |
フィールド | |
---|---|
code |
ステータス コード。この API の場合、この値は次のいずれかになります。
|
message |
デベロッパー向けのエラー メッセージ(英語)。ユーザー向けのエラー メッセージは、ローカライズして |
details[] |
エラーの性質に関する情報を提供する単一の 任意の型のフィールドを含むオブジェクト。型を識別する URI を含むフィールド |