UI 요소 내에서 상호작용을 가능하게 하는 작업입니다. 이 작업은 클라이언트에서 직접 발생하는 것이 아니라 선택적 매개변수를 사용하여 Apps Script 콜백 함수를 호출합니다.
Google Workspace 부가기능 및 Google Chat 앱에서 사용할 수 있습니다.
var image = CardService.newImage() .setOnClickAction(CardService.newAction() .setFunctionName("handleImageClick") .setParameters({imageSrc: 'carImage'}));
메서드
메서드 | 반환 유형 | 간략한 설명 |
---|---|---|
addRequiredWidget(requiredWidget) | Action | 이 작업이 유효한 제출에 필요한 위젯의 이름을 추가합니다. |
setAllWidgetsAreRequired(allWidgetsAreRequired) | Action | 이 작업에 모든 위젯의 입력이 필요한지 여부를 나타냅니다. |
setFunctionName(functionName) | Action | 호출할 콜백 함수의 이름을 설정합니다. |
setInteraction(interaction) | Action | 사용자와의 상호작용을 설정합니다. 대화상자를 열 때만 필요합니다. |
setLoadIndicator(loadIndicator) | Action | 작업 진행 중에 표시되는 로드 표시기를 설정합니다. |
setParameters(parameters) | Action | 맞춤 매개변수를 콜백 함수에 전달할 수 있습니다. |
setPersistValues(persistValues) | Action | 작업 응답이 양식의 Card 를 업데이트한 후 클라이언트의 값 또는 서버 값으로 양식 값을 결정하는지 여부를 나타냅니다. |
자세한 문서
addRequiredWidget(requiredWidget)
이 작업이 유효한 제출에 필요한 위젯의 이름을 추가합니다. 이 작업이 호출될 때 이 목록의 위젯에 값이 없으면 양식 제출이 취소됩니다.
Google Chat 앱에서만 사용할 수 있습니다. Google Workspace 부가기능에는 사용할 수 없습니다.
var textInput = CardService.newTextInput() .setFieldName("text_input_1") .setTitle("Text input title") // Creates a footer button that requires an input from the above TextInput Widget. var action = CardService.newAction() .setFunctionName("notificationCallback") .addRequiredWidget("text_input_1"); var fixedFooter = CardService .newFixedFooter() .setPrimaryButton( CardService .newTextButton() .setText("help") .setOnClickAction(action));
매개변수
이름 | 유형 | 설명 |
---|---|---|
requiredWidget | String | 이 작업에 필요한 위젯의 이름입니다. |
리턴
Action
: 체이닝용 객체입니다.
setAllWidgetsAreRequired(allWidgetsAreRequired)
이 작업에 모든 위젯의 입력이 필요한지 여부를 나타냅니다.
Google Chat 앱에서만 사용할 수 있습니다. Google Workspace 부가기능에는 사용할 수 없습니다.
// Creates a button with an action that requires inputs from all widgets. const button = CardService.newTextButton() .setText('Create notification') .setOnClickAction( CardService.newAction() .setAllWidgetsAreRequired(true));
매개변수
이름 | 유형 | 설명 |
---|---|---|
allWidgetsAreRequired | Boolean | 작업에 모든 위젯의 입력이 필요한지 여부입니다. 기본값은 false 입니다. |
리턴
Action
: 체이닝용 객체입니다.
setFunctionName(functionName)
호출할 콜백 함수의 이름을 설정합니다. 필수 항목입니다.
매개변수
이름 | 유형 | 설명 |
---|---|---|
functionName | String | 함수 이름입니다. Library.libFunction1 와 같은 포함된 라이브러리의 함수를 사용할 수 있습니다. |
리턴
Action
: 체이닝용 객체입니다.
setInteraction(interaction)
사용자와의 상호작용을 설정합니다. 대화상자를 열 때만 필요합니다. 지정하지 않으면 앱은 평소와 같이 링크를 열거나 함수를 실행하는 등 Action
를 실행하여 응답합니다.
Google Chat 앱에서만 사용할 수 있습니다. Google Workspace 부가기능에는 사용할 수 없습니다.
const action = CardService.newAction() .setFunctionName('handleDialog') .setInteraction(CardService.Interaction.OPEN_DIALOG);
매개변수
이름 | 유형 | 설명 |
---|---|---|
interaction | Interaction | 지정할 상호작용입니다. |
리턴
Action
: 체이닝용 객체입니다.
setLoadIndicator(loadIndicator)
작업 진행 중에 표시되는 로드 표시기를 설정합니다.
매개변수
이름 | 유형 | 설명 |
---|---|---|
loadIndicator | LoadIndicator | 표시할 표시기입니다. |
리턴
Action
: 체이닝용 객체입니다.
setParameters(parameters)
맞춤 매개변수를 콜백 함수에 전달할 수 있습니다. 선택사항입니다.
매개변수
이름 | 유형 | 설명 |
---|---|---|
parameters | Object | 키와 값은 모두 문자열이어야 합니다. |
리턴
Action
: 체이닝용 객체입니다.
setPersistValues(persistValues)
작업 응답이 양식의 Card
를 업데이트한 후 클라이언트의 값 또는 서버 값으로 양식 값을 결정하는지 여부를 나타냅니다. true
로 설정하면 서버 응답 후에도 클라이언트의 값이 유지됩니다. false
로 설정하면 서버의 값이 양식 값을 덮어씁니다. 기본값은 false
입니다.
클라이언트 값을 유지하면 사용자가 수정한 후에 예기치 않게 양식이 변경되는 상황을 방지하는 데 도움이 됩니다. 예를 들어 사용자가 양식을 제출한 후 서버가 응답하기 전에 TextInput
를 수정하는 경우입니다. 값이 유지되면 서버 응답이 Card
를 업데이트한 후에도 사용자가 수정한 내용이 유지됩니다. 그렇지 않으면 양식 값은 사용자가 양식에 처음 제출한 값으로 반환됩니다.
클라이언트 값을 유지하면 양식 필드를 지우거나 양식 값을 재정의하는 스크립트의 기능에 지장을 줄 수 있으므로 이러한 유형의 기능에 지속성을 설정하지 마세요. 지속성 없이 이벤트에 LoadIndicator.SPINNER
를 사용하는 것이 좋습니다. 이렇게 하면 UI가 잠기고 서버가 응답하기 전에 사용자가 수정할 수 없기 때문입니다. 또는 LoadIndicator.NONE
를 사용하고 양식의 모든 요소에 onChange 작업이 있는지 확인할 수 있습니다.
// Creates a button with an action that persists the client's values as the on-click action. const button = CardService.newTextButton() .setText('Create notification') .setOnClickAction( CardService.newAction() .setPersistValues(true) .setFunctionName('functionName'));
매개변수
이름 | 유형 | 설명 |
---|---|---|
persistValues | Boolean | 값을 유지할지 여부입니다. 기본값은 false 입니다. |
리턴
Action
: 체이닝용 객체입니다.