Apps Script 프로젝트에서 함수를 실행합니다. 스크립트 프로젝트는 Apps Script API와 함께 사용하도록 배포해야 하며 호출 애플리케이션은 동일한 Cloud Platform 프로젝트를 공유해야 합니다.
이 메서드는 승인 섹션에 나열된 범위 중 하나 이상이 포함된 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 트랜스코딩 문법을 사용합니다.
경로 매개변수
| 매개변수 | |
|---|---|
deploymentId | 
                
                   
 API 실행 파일 배포의 배포 ID입니다. 스크립트 편집기의 배포 > 배포 관리에서 배포 ID를 찾습니다.  | 
              
요청 본문
요청 본문에는 다음과 같은 구조의 데이터가 포함됩니다.
| JSON 표현 | 
|---|
{ "function": string, "parameters": [ value ], "sessionState": string, "devMode": boolean }  | 
                
| 필드 | |
|---|---|
function | 
                  
                     
 지정된 스크립트에서 실행할 함수의 이름입니다. 이름에는 괄호나 매개변수가 포함되지 않습니다.   | 
                
parameters[] | 
                  
                     
 실행되는 함수에 전달할 매개변수입니다. 각 매개변수의 객체 유형은 Apps Script의 예상 유형과 일치해야 합니다. 매개변수는 Apps Script 전용 객체 유형 (예:   | 
                
sessionState | 
                  
                     
 지원 중단되었습니다. Android 부가기능에서만 사용합니다. 부가기능을 실행하는 Intent에 추가 데이터로 포함된 Google Docs 또는 Sheets용 Android 앱에서 사용자의 현재 세션을 나타내는 ID입니다. 세션 상태로 Android 부가기능을 실행하면 바인딩된 스크립트의 권한이 부여됩니다. 즉, 사용자의 현재 커서 위치 (Docs) 또는 선택된 셀 (Sheets)과 같은 정보에 액세스할 수 있습니다. 상태를 가져오려면   | 
                
devMode | 
                  
                     
 
  | 
                
응답 본문
성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.
run로 시작된 Apps Script 함수 실행을 나타냅니다. 함수 실행이 완료될 때까지 실행 응답이 도착하지 않습니다. 최대 실행 런타임은 Apps Script 할당량 가이드에 나와 있습니다. 
실행이 시작되면 다음 네 가지 결과 중 하나가 발생할 수 있습니다.
-  스크립트 함수가 성공적으로 반환되면 
response필드에 객체의result필드에 함수의 반환 값이 있는ExecutionResponse객체가 포함됩니다. -  스크립트 함수 (또는 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 | 
                    
                       
 스크립트 함수가 성공적으로 반환되면 이 필드에는 함수의 반환 값이 포함된  임의 유형의 필드를 포함하는 객체입니다. 추가 필드   | 
                  
승인 범위
다음 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[] | 
                
                   
 오류의 특성에 관한 정보를 제공하는 단일  임의 유형의 필드를 포함하는 객체입니다. 추가 필드   |