Class Action

조치

UI 요소 내에서 상호작용을 가능하게 하는 작업입니다. 이 작업은 클라이언트에서 직접 발생하는 것이 아니라 선택적 매개변수를 사용하여 Apps Script 콜백 함수를 호출합니다.

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

var image = CardService.newImage()
    .setOnClickAction(CardService.newAction()
        .setFunctionName("handleImageClick")
        .setParameters({imageSrc: 'carImage'}));

방법

메서드반환 유형간략한 설명
setFunctionName(functionName)Action호출할 콜백 함수의 이름을 설정합니다.
setInteraction(interaction)Action사용자와의 상호작용을 설정합니다. 대화상자를 열 때만 필요합니다.
setLoadIndicator(loadIndicator)Action작업 진행 중에 표시되는 로드 표시기를 설정합니다.
setParameters(parameters)Action맞춤 매개변수를 콜백 함수에 전달할 수 있습니다.
setPersistValues(persistValues)Action작업 응답이 양식의 Card를 업데이트한 후 클라이언트의 값 또는 서버 값으로 양식 값을 결정하는지 여부를 나타냅니다.

자세한 문서

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를 업데이트한 후에도 사용자가 수정한 내용이 유지됩니다. 그렇지 않으면 양식 값은 사용자가 양식에 처음 제출한 값으로 반환됩니다.

클라이언트 값을 유지하면 양식 필드를 지우거나 양식 값을 재정의하는 스크립트의 기능에 지장을 줄 수 있으므로 이러한 유형의 기능에 지속성을 설정하지 마세요. 지속성 없이 이벤트에 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'));

매개변수

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

리턴

Action: 체이닝용 객체입니다.

지원 중단된 메서드