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/{deploymentId}:run
この URL は gRPC Transcoding 構文を使用します。
パスパラメータ
| パラメータ | |
|---|---|
deploymentId | 
                
                   
 API 実行可能ファイル デプロイのデプロイ ID。スクリプト エディタの [デプロイ] > [デプロイを管理] で、デプロイ ID を確認します。  | 
              
リクエストの本文
リクエストの本文には、次の構造のデータが含まれます。
| JSON 表現 | 
|---|
{ "function": string, "parameters": [ value ], "sessionState": string, "devMode": boolean }  | 
                
| フィールド | |
|---|---|
function | 
                  
                     
 指定されたスクリプトで実行する関数の名前。名前には、かっこやパラメータは含まれません。  | 
                
parameters[] | 
                  
                     
 実行される関数に渡されるパラメータ。各パラメータのオブジェクト型は、Apps Script で想定される型と一致している必要があります。パラメータは、Apps Script 固有のオブジェクト型(  | 
                
sessionState | 
                  
                     
 非推奨。Android アドオンでのみ使用します。Google ドキュメントまたは Google スプレッドシートの Android アプリでのユーザーの現在のセッションを表す ID。アドオンを起動する Intent の追加データとして含まれます。セッション状態を使用して Android アドオンを実行すると、バインドされたスクリプトの権限が付与されます。つまり、ユーザーの現在のカーソル位置(ドキュメント内)や選択されたセル(スプレッドシート内)などの情報にアクセスできます。状態を取得するには、  | 
                
devMode | 
                  
                     
 
  | 
                
レスポンスの本文
成功した場合、レスポンスの本文には次の構造のデータが含まれます。
run で開始された Apps Script 関数の実行を表します。実行レスポンスは、関数の実行が完了するまで返されません。最大実行ランタイムは、Apps Script の割り当てガイドに記載されています。
実行が開始されると、次の 4 つの結果のいずれかになります。
-  スクリプト関数が正常に返されると、
responseフィールドには、オブジェクトのresultフィールドに関数の戻り値を含むExecutionResponseオブジェクトが含まれます。 -  スクリプト関数(または Apps Script 自体)が例外をスローすると、
errorフィールドにStatusオブジェクトが含まれます。Statusオブジェクトのdetailsフィールドには、エラーの性質に関する情報を提供する 1 つの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 | 
                    
                       
 スクリプト関数が正常に返されると、このフィールドには関数の戻り値を含む  任意の型のフィールドを含むオブジェクト。追加フィールドの   | 
                  
認可スコープ
次の OAuth スコープのいずれかが必要です。
https://apps-apis.google.com/a/feedshttps://apps-apis.google.com/a/feeds/alias/https://apps-apis.google.com/a/feeds/groups/https://mail.google.com/https://sites.google.com/feedshttps://www.google.com/calendar/feedshttps://www.google.com/m8/feedshttps://www.googleapis.com/auth/admin.directory.grouphttps://www.googleapis.com/auth/admin.directory.userhttps://www.googleapis.com/auth/documentshttps://www.googleapis.com/auth/documents.currentonlyhttps://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/dynamiccreativeshttps://www.googleapis.com/auth/formshttps://www.googleapis.com/auth/forms.currentonlyhttps://www.googleapis.com/auth/groupshttps://www.googleapis.com/auth/script.cpanelhttps://www.googleapis.com/auth/script.external_requesthttps://www.googleapis.com/auth/script.scriptapphttps://www.googleapis.com/auth/script.send_mailhttps://www.googleapis.com/auth/script.storagehttps://www.googleapis.com/auth/script.webapp.deployhttps://www.googleapis.com/auth/spreadsheetshttps://www.googleapis.com/auth/spreadsheets.currentonlyhttps://www.googleapis.com/auth/sqlservicehttps://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[] | 
                
                   
 エラーの内容に関する情報を提供する 1 つの  任意の型のフィールドを含むオブジェクト。追加フィールドの   |