스크립트 게시 및 트리거에 액세스하고 조작합니다. 이 클래스를 사용하면 사용자가 스크립트를 만들 수 있습니다. 스크립트를 서비스로 게시하는 것을 제어합니다.
속성
속성 | 유형 | 설명 |
---|---|---|
AuthMode | AuthMode | Apps Script에서 수행할 수 있는 승인된 서비스의 카테고리를 식별하는 열거형입니다. 트리거된 함수를 통해 실행됩니다 |
AuthorizationStatus | AuthorizationStatus | 스크립트의 인증 상태를 나타내는 열거형입니다. |
EventType | EventType | 트리거된 이벤트의 유형을 나타내는 열거형입니다. |
InstallationSource | InstallationSource | 스크립트가 부가기능으로 사용자에게 설치된 방법을 나타내는 열거형입니다. |
TriggerSource | TriggerSource | 트리거를 실행하는 이벤트의 소스를 나타내는 열거형입니다. |
WeekDay | Weekday | 요일을 나타내는 열거형입니다. |
메서드
메서드 | 반환 유형 | 간략한 설명 |
---|---|---|
deleteTrigger(trigger) | void | 더 이상 실행되지 않도록 지정된 트리거를 삭제합니다. |
getAuthorizationInfo(authMode) | AuthorizationInfo | 사용자가 이 스크립트를 사용하도록 승인해야 하는지 여부를 결정하는 데 사용되는 객체를 가져옵니다. 승인 대화상자의 URL을 제공합니다. |
getIdentityToken() | String | 다음에 대한 OpenID Connect ID 토큰을 가져옵니다.
openid 범위가 부여된 경우 유효 사용자입니다. |
getInstallationSource() | InstallationSource | 스크립트가 현재 사용자 (예: 사용자가 Chrome 웹을 통해 개인적으로 설치했는지 여부) 저장 또는 도메인 관리자가 모든 사용자에 대해 설치했는지 여부). |
getOAuthToken() | String | OAuth 2.0 액세스 권한을 가져옵니다. 토큰을 제공합니다. |
getProjectTriggers() | Trigger[] | 현재 프로젝트 및 현재 사용자와 연결된 모든 설치 가능한 트리거를 가져옵니다. |
getScriptId() | String | 스크립트 프로젝트의 고유 ID를 가져옵니다. |
getService() | Service | 스크립트를 웹 앱으로 게시하는 것을 제어하는 데 사용되는 객체를 가져옵니다. |
getUserTriggers(document) | Trigger[] | 이 스크립트에 대해 지정된 문서에서 이 사용자가 소유한 설치 가능한 모든 트리거를 가져옵니다. 부가기능 전용입니다. |
getUserTriggers(form) | Trigger[] | 이 스크립트 또는 부가기능에 대해 지정된 양식에서 이 사용자가 소유한 모든 설치 가능한 트리거를 가져옵니다. 전용입니다. |
getUserTriggers(spreadsheet) | Trigger[] | 이 스크립트에 대해 지정된 스프레드시트에서 이 사용자가 소유한 모든 설치 가능 트리거를 가져옵니다. 부가기능 전용입니다. |
invalidateAuth() | void | 유효 사용자가 현재 스크립트를 실행하는 데 필요한 권한을 무효화합니다. |
newStateToken() | StateTokenBuilder | 콜백 API (예: OAuth 흐름)에서 사용할 수 있는 상태 토큰용 빌더를 만듭니다. |
newTrigger(functionName) | TriggerBuilder | 실행 시 지정된 함수를 호출하는 설치 가능한 트리거를 만드는 프로세스를 시작합니다. |
자세한 문서
deleteTrigger(trigger)
더 이상 실행되지 않도록 지정된 트리거를 삭제합니다.
// Deletes all triggers in the current project. var triggers = ScriptApp.getProjectTriggers(); for (var i = 0; i < triggers.length; i++) { ScriptApp.deleteTrigger(triggers[i]); }
매개변수
이름 | 유형 | 설명 |
---|---|---|
trigger | Trigger | 삭제할 트리거입니다. |
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.
-
https://www.googleapis.com/auth/script.scriptapp
getAuthorizationInfo(authMode)
사용자가 이 스크립트를 사용하도록 승인해야 하는지 여부를 결정하는 데 사용되는 객체를 가져옵니다. 승인 대화상자의 URL을 제공합니다. 스크립트가 게시된 경우 설치 가능한 트리거를 사용하는 부가기능인 경우 이 정보는 사용자에게 필요한 권한이 부족한 코드 섹션에 대한 액세스를 제어하는 데 있습니다. 또는 부가기능에서 사용자에게 승인 URL을 열도록 요청할 수 있습니다. 대화상자를 사용하여 문제를 해결하세요.
var authInfo = ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL); status = authInfo.getAuthorizationStatus(); url = authInfo.getAuthorizationUrl();
매개변수
이름 | 유형 | 설명 |
---|---|---|
authMode | AuthMode | 승인 정보가 요청된 승인 모드 인치
거의 모든 경우 다른 승인 모드가 없으므로 authMode 의 값은 ScriptApp.getAuthorizationInfo(ScriptApp.AuthMode.FULL) 이어야 합니다.
에서는 사용자가 승인을 부여받아야 합니다. |
리턴
AuthorizationInfo
: 사용자의 승인 상태에 대한 정보를 제공할 수 있는 객체
getIdentityToken()
다음에 대한 OpenID Connect ID 토큰을 가져옵니다.
openid
범위가 부여된 경우 유효 사용자입니다. 이 범위는 포함되지 않습니다.
매니페스트에 이 범위를 명시적 범위로 추가해야 합니다.
파일을 사용하여 요청합니다. 추가로 반환하려면 범위 https://www.googleapis.com/auth/userinfo.email
또는 https://www.googleapis.com/auth/userinfo.profile
를 포함합니다.
사용자 정보를 생성합니다.
반환된 ID 토큰은 인코딩된 JSON 웹 토큰 (JWT)이고 디코딩해야 합니다. 다음 예는 디코딩하는 방법을 보여줍니다. 토큰을 추출하고 유효한 사용자의 Google 프로필 ID를 추출합니다.
var idToken = ScriptApp.getIdentityToken(); var body = idToken.split('.')[1]; var decoded = Utilities.newBlob(Utilities.base64Decode(body)).getDataAsString(); var payload = JSON.parse(decoded); var profileId = payload.sub; Logger.log('Profile ID: ' + profileId);자세한 내용은 OpenID Connect를 반환된 필드 (클레임)의 전체 목록에 대한 문서입니다.
리턴
String
- ID 토큰(있는 경우)입니다. 그렇지 않으면 null
입니다.
getInstallationSource()
스크립트가 현재 사용자 (예: 사용자가 Chrome 웹을 통해 개인적으로 설치했는지 여부) 저장 또는 도메인 관리자가 모든 사용자에 대해 설치했는지 여부).
리턴
InstallationSource
- 설치 소스입니다.
getOAuthToken()
OAuth 2.0 액세스 권한을 가져옵니다. 토큰을 제공합니다. 스크립트의 OAuth 범위가 승인하기에 충분한 경우 다른 Google API에 일반적으로 자체 OAuth 흐름이 필요한 경우 (예: Google 선택 도구) 스크립트가 이 토큰을 대신 전달하여 두 번째 승인 메시지를 표시할 수 있습니다. 토큰은 일정 시간( 최소 몇 분) 스크립트는 인증 실패를 처리하고 이 메서드를 호출하여 새 토큰을 가져올 수 있습니다
이 메서드가 반환하는 토큰에는 현재 스크립트에 필요한 범위만 포함됩니다. 이전에 승인되었지만 더 이상 스크립트에서 사용하지 않는 범위는 다음에 포함되지 않습니다. 반환합니다. 스크립트 자체 범위 외에 추가 OAuth 범위가 필요한 경우 스크립트의 매니페스트 파일에 포함됩니다.
리턴
String
- OAuth 2.0 토큰의 문자열 표현입니다.
getProjectTriggers()
getScriptId()
스크립트 프로젝트의 고유 ID를 가져옵니다. 이 방법은 고유 식별자를 가져올 때 선호되는 방법입니다.
가 아닌 스크립트 프로젝트에 사용됩니다. 이 ID는 모든 장소에서 사용할 수 있습니다.
이전에 프로젝트 키가 제공되었음getProjectKey()
리턴
String
- 스크립트 프로젝트의 ID입니다.
getService()
스크립트를 웹 앱으로 게시하는 것을 제어하는 데 사용되는 객체를 가져옵니다.
// Get the URL of the published web app. var url = ScriptApp.getService().getUrl();
리턴
Service
- 스크립트를 웹 앱으로 게시하는 것을 관찰하고 제어하는 데 사용되는 객체입니다.
getUserTriggers(document)
이 스크립트에 대해 지정된 문서에서 이 사용자가 소유한 설치 가능한 모든 트리거를 가져옵니다. 부가기능 전용입니다. 이 메서드는 다른 스크립트에 연결된 트리거를 보는 데 사용할 수 없습니다.
var doc = DocumentApp.getActiveDocument(); var triggers = ScriptApp.getUserTriggers(doc); // Log the handler function for the first trigger in the array. Logger.log(triggers[0].getHandlerFunction());
매개변수
이름 | 유형 | 설명 |
---|---|---|
document | Document | 설치 가능한 트리거를 포함할 수 있는 Google Docs 파일입니다. |
리턴
Trigger[]
- 지정된 문서에서 이 사용자가 소유한 트리거의 배열입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.
-
https://www.googleapis.com/auth/script.scriptapp
getUserTriggers(form)
이 스크립트 또는 부가기능에 대해 지정된 양식에서 이 사용자가 소유한 모든 설치 가능한 트리거를 가져옵니다. 전용입니다. 이 메서드는 다른 스크립트에 연결된 트리거를 보는 데 사용할 수 없습니다.
var form = FormApp.getActiveForm(); var triggers = ScriptApp.getUserTriggers(form); // Log the trigger source for the first trigger in the array. Logger.log(triggers[0].getTriggerSource());
매개변수
이름 | 유형 | 설명 |
---|---|---|
form | Form | 설치 가능한 트리거가 포함될 수 있는 Google Forms 파일입니다. |
리턴
Trigger[]
- 지정된 형식으로 이 사용자가 소유한 트리거의 배열입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.
-
https://www.googleapis.com/auth/script.scriptapp
getUserTriggers(spreadsheet)
이 스크립트에 대해 지정된 스프레드시트에서 이 사용자가 소유한 모든 설치 가능 트리거를 가져옵니다. 부가기능 전용입니다. 이 메서드는 다른 스크립트에 연결된 트리거를 보는 데 사용할 수 없습니다.
var ss = SpreadsheetApp.getActiveSpreadsheet(); var triggers = ScriptApp.getUserTriggers(ss); // Log the event type for the first trigger in the array. Logger.log(triggers[0].getEventType());
매개변수
이름 | 유형 | 설명 |
---|---|---|
spreadsheet | Spreadsheet | 설치 가능한 트리거가 포함될 수 있는 Google Sheets 파일입니다. |
리턴
Trigger[]
- 지정된 스프레드시트에서 이 사용자가 소유한 트리거의 배열입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.
-
https://www.googleapis.com/auth/script.scriptapp
invalidateAuth()
유효 사용자가 현재 스크립트를 실행하는 데 필요한 권한을 무효화합니다. 용도 현재 스크립트에 대한 권한을 무효화합니다. 이는 특히 일회성 승인으로 태그가 지정됩니다. 원샷 승인 함수는 작업을 수행하려면 스크립트가 승인을 획득한 후 처음 실행 그 후에는 사용자가 다음을 볼 수 있도록 스크립트에 부여된 모든 승인을 취소해야 합니다. 승인 대화상자가 다시 표시됩니다.
ScriptApp.invalidateAuth();
생성 값
Error
: 무효화 실패 시
newStateToken()
콜백 API (예: OAuth 흐름)에서 사용할 수 있는 상태 토큰용 빌더를 만듭니다.
// Generate a callback URL, given the name of a callback function. The script does not need to // be published as a web app; the /usercallback URL suffix replaces /edit in any script's URL. function getCallbackURL(callbackFunction) { // IMPORTANT: Replace string below with the URL from your script, minus the /edit at the end. var scriptUrl = 'https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz'; var urlSuffix = '/usercallback?state='; var stateToken = ScriptApp.newStateToken() .withMethod(callbackFunction) .withTimeout(120) .createToken(); return scriptUrl + urlSuffix + stateToken; }
대부분의 OAuth2 흐름에서 state
토큰은 승인 엔드포인트에 전달됩니다.
직접 (콜백 URL의 일부가 아님)하고, 승인 엔드포인트는 이를
부분을 참조하세요.
예를 들면 다음과 같습니다.
- 스크립트가 사용자를 OAuth2 승인 URL(
https://accounts.google.com/o/oauth2/auth?state=token_generated_with_this_method&callback_uri=https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback&other_oauth2_parameters
)로 리디렉션합니다. - 사용자가 승인을 클릭하면 OAuth2 승인 페이지에서 사용자를
https://script.google.com/macros/d/1234567890abcdefghijklmonpqrstuvwxyz/usercallback?state=token_generated_with_this_method&other_params_that_include_tokens_or_grants
- 위의 리디렉션 (
http://script.google.com/...
로 다시)으로 인해 브라우저가/usercallback
에 요청을 보내고,StateTokenBuilder.withMethod(method)
에서 지정한 메서드를 호출합니다.
리턴
StateTokenBuilder
- 상태 토큰 빌드 프로세스를 계속 진행하는 데 사용되는 객체입니다.
newTrigger(functionName)
실행 시 지정된 함수를 호출하는 설치 가능한 트리거를 만드는 프로세스를 시작합니다.
// Creates an edit trigger for a spreadsheet identified by ID. ScriptApp.newTrigger('myFunction') .forSpreadsheet('1234567890abcdefghijklmnopqrstuvwxyz_a1b2c3') .onEdit() .create();
매개변수
이름 | 유형 | 설명 |
---|---|---|
functionName | String | 트리거가 실행될 때 호출할 함수입니다. 다음과 같은 함수를 사용할 수 있습니다.
포함된 라이브러리(예: Library.libFunction1 ) |
리턴
TriggerBuilder
- 트리거 빌드 프로세스를 계속 진행하는 데 사용되는 객체입니다.
승인
이 메서드를 사용하는 스크립트에는 다음 범위 중 하나 이상으로 승인이 필요합니다.
-
https://www.googleapis.com/auth/script.scriptapp