Class Action

작업

UI 요소 내에서 상호작용을 사용 설정하는 작업입니다. 이 작업은 클라이언트에서 직접 실행되지 않고 매개변수(선택사항)가 있는 Apps Script 콜백 함수를 호출합니다.

Google Workspace 부가기능 및 Google Chat 앱에서 사용할 수 있습니다.

const 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 부가기능에는 사용할 수 없습니다.

const textInput = CardService.newTextInput()
                      .setFieldName('text_input_1')
                      .setTitle('Text input title');

// Creates a footer button that requires an input from the above TextInput
// Widget.
const action = CardService.newAction()
                   .setFunctionName('notificationCallback')
                   .addRequiredWidget('text_input_1');
const fixedFooter = CardService.newFixedFooter().setPrimaryButton(
    CardService.newTextButton().setText('help').setOnClickAction(action),
);

매개변수

이름유형설명
requiredWidgetString이 작업에 필요한 위젯의 이름입니다.

리턴

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));

매개변수

이름유형설명
allWidgetsAreRequiredBoolean작업에 모든 위젯의 입력이 필요한지 여부입니다. 기본값은 false입니다.

리턴

Action: 연결을 위한 객체입니다.


setFunctionName(functionName)

호출할 콜백 함수의 이름을 설정합니다. 필수 항목입니다.

매개변수

이름유형설명
functionNameString함수 이름입니다. 포함된 라이브러리(예: Library.libFunction1)의 함수를 사용할 수 있습니다.

리턴

Action: 연결을 위한 객체입니다.


setInteraction(interaction)

사용자와의 상호작용을 설정합니다. 대화상자를 열 때만 필요합니다. 지정하지 않으면 앱은 평소와 같이 링크 열기 또는 함수 실행과 같은 Action를 실행하여 응답합니다.

Google Chat 앱에서만 사용할 수 있습니다. Google Workspace 부가기능에는 사용할 수 없습니다.

const action = CardService.newAction()
                   .setFunctionName('handleDialog')
                   .setInteraction(CardService.Interaction.OPEN_DIALOG);

매개변수

이름유형설명
interactionInteraction지정할 상호작용입니다.

리턴

Action: 연결을 위한 객체입니다.


setLoadIndicator(loadIndicator)

작업이 진행되는 동안 표시되는 로드 표시기를 설정합니다.

매개변수

이름유형설명
loadIndicatorLoadIndicator표시할 지표입니다.

리턴

Action: 연결을 위한 객체입니다.


setParameters(parameters)

맞춤 매개변수를 콜백 함수에 전달할 수 있습니다. 선택사항입니다.

매개변수

이름유형설명
parametersObject키와 값은 모두 문자열이어야 합니다.

리턴

Action: 연결을 위한 객체입니다.


setPersistValues(persistValues)

작업 응답이 양식의 Card를 업데이트한 후 양식 값이 클라이언트 값에 의해 결정되는지 아니면 서버 값에 의해 결정되는지를 나타냅니다. true로 설정하면 클라이언트 값이 서버 응답 후에도 유지됩니다. false로 설정하면 서버 값이 양식 값을 덮어씁니다. 기본값은 false입니다.

클라이언트 값을 유지하면 사용자가 수정한 후 양식이 예기치 않게 변경되는 상황을 방지할 수 있습니다. 예를 들어 사용자가 양식을 제출한 후 서버가 응답하기 전에 TextInput를 수정하는 경우입니다. 값이 유지되면 서버 응답이 Card를 업데이트한 후에도 사용자가 수정한 내용이 유지됩니다. 그렇지 않으면 양식 값이 사용자가 양식에 원래 제출한 값으로 돌아갑니다.

클라이언트 값을 유지하면 스크립트가 양식 필드를 지우거나 양식 값을 재정의하는 기능을 방해할 수 있으므로 이러한 유형의 기능에는 지속성을 사용 설정하지 마세요. 지속성이 없으면 서버가 응답하기 전에 UI가 잠기고 사용자가 수정할 수 없으므로 이벤트에 LoadIndicator.SPINNER를 사용하는 것이 좋습니다. 또는 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'),
        );

매개변수

이름유형설명
persistValuesBoolean값을 유지할지 여부입니다. 기본값은 false입니다.

리턴

Action: 연결을 위한 객체입니다.

지원 중단된 메서드