Class Button

버튼

모든 버튼의 기본 클래스입니다.

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

메서드

메서드반환 유형간략한 설명
setAuthorizationAction(action)Button객체를 클릭할 때 승인 흐름으로 연결되는 URL을 여는 승인 작업을 설정합니다.
setComposeAction(action, composedEmailType)Button객체를 클릭할 때 이메일 초안을 작성하는 작업을 설정합니다.
setOnClickAction(action)Button객체가 클릭될 때 실행되는 작업을 설정합니다.
setOnClickOpenLinkAction(action)Button객체를 클릭할 때 탭에서 URL을 여는 작업을 설정합니다.
setOpenLink(openLink)Button객체를 클릭할 때 열릴 URL을 설정합니다.
setOverflowMenu(menu)Button객체를 클릭할 때 열리는 팝업 메뉴를 설정합니다.

자세한 문서

setAuthorizationAction(action)

객체를 클릭할 때 승인 흐름으로 연결되는 URL을 여는 승인 작업을 설정합니다. 그러면 URL이 새 창에서 열립니다. 사용자가 승인 흐름을 완료하고 애플리케이션으로 돌아오면 부가기능이 새로고침됩니다.

UI 객체는 setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) 또는 setComposeAction(action, composedEmailType) 중 하나만 설정할 수 있습니다.

// ...

const action = CardService.newAuthorizationAction().setAuthorizationUrl('url');
CardService.newTextButton().setText('Authorize').setAuthorizationAction(action);

매개변수

이름유형설명
actionAuthorizationAction이 요소가 클릭될 때 취할 승인 작업을 지정하는 객체입니다.

리턴

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


setComposeAction(action, composedEmailType)

객체를 클릭할 때 이메일 초안을 작성하는 작업을 설정합니다. UI 객체는 setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) 또는 setComposeAction(action, composedEmailType) 중 하나만 설정할 수 있습니다.

Action 매개변수는 ComposeActionResponseBuilder.setGmailDraft(draft)를 사용하여 구성된 ComposeActionResponse 객체를 반환하는 콜백 함수를 지정해야 합니다.

// ...

const action = CardService.newAction().setFunctionName('composeEmailCallback');
CardService.newTextButton()
    .setText('Compose Email')
    .setComposeAction(action, CardService.ComposedEmailType.REPLY_AS_DRAFT);

// ...

function composeEmailCallback(e) {
  const thread = GmailApp.getThreadById(e.threadId);
  const draft = thread.createDraftReply('This is a reply');
  return CardService.newComposeActionResponseBuilder()
      .setGmailDraft(draft)
      .build();
}

매개변수

이름유형설명
actionAction이 요소가 클릭될 때 실행할 작성 작업을 지정하는 객체입니다.
composedEmailTypeComposedEmailType작성된 초안이 독립형 초안인지 답장 초안인지 지정하는 enum 값입니다.

리턴

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


setOnClickAction(action)

객체가 클릭될 때 실행되는 작업을 설정합니다. UI 객체는 setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) 또는 setComposeAction(action, composedEmailType) 중 하나만 설정할 수 있습니다.

Action 매개변수는 ActionResponse 객체를 반환하는 콜백 함수를 지정해야 합니다.

// ...

const action = CardService.newAction().setFunctionName('notificationCallback');
CardService.newTextButton()
    .setText('Create notification')
    .setOnClickAction(action);

// ...

function notificationCallback() {
  return CardService.newActionResponseBuilder()
      .setNotification(
          CardService.newNotification().setText('Some info to display to user'),
          )
      .build();
}

매개변수

이름유형설명
actionAction이 요소를 클릭할 때 취할 작업입니다.

리턴

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


setOnClickOpenLinkAction(action)

객체를 클릭할 때 탭에서 URL을 여는 작업을 설정합니다. URL을 빌드해야 하거나 OpenLink 객체를 만드는 것 외에도 다른 작업을 실행해야 하는 경우 이 함수를 사용하세요. UI 객체는 setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) 또는 setComposeAction(action, composedEmailType) 중 하나만 설정할 수 있습니다.

Action 매개변수는 ActionResponseBuilder.setOpenLink(openLink)를 사용하여 구성된 ActionResponse 객체를 반환하는 콜백 함수를 지정해야 합니다.

// ...

const action = CardService.newAction().setFunctionName('openLinkCallback');
CardService.newTextButton()
    .setText('Open Link')
    .setOnClickOpenLinkAction(action);

// ...

function openLinkCallback() {
  return CardService.newActionResponseBuilder()
      .setOpenLink(CardService.newOpenLink().setUrl('https://www.google.com'))
      .build();
}

매개변수

이름유형설명
actionAction이 요소가 클릭될 때 실행할 링크 열기 작업을 지정하는 객체입니다.

리턴

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


객체를 클릭할 때 열릴 URL을 설정합니다. URL이 이미 알려져 있고 열기만 하면 되는 경우에 이 함수를 사용하세요. UI 객체는 setOpenLink(openLink), setOnClickAction(action), setOnClickOpenLinkAction(action), setAuthorizationAction(action) 또는 setComposeAction(action, composedEmailType) 중 하나만 설정할 수 있습니다.

매개변수

이름유형설명
openLinkOpenLink열려는 URL을 설명하는 OpenLink 객체입니다.

리턴

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


setOverflowMenu(menu)

객체를 클릭할 때 열리는 팝업 메뉴를 설정합니다. 메뉴의 각 항목은 클릭 시 트리거할 작업을 지정할 수 있습니다. 중첩된 메뉴는 지원되지 않으며 메뉴 항목의 작업은 더보기 메뉴를 지정해서는 안 됩니다.

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

const overflowMenuItem =
    CardService.newOverflowMenuItem()
        .setStartIcon(
            CardService.newIconImage().setIconUrl(
                'https://www.google.com/images/branding/googleg/1x/googleg_standard_color_64dp.png',
                ),
            )
        .setText('Open Link')
        .setOpenLink(
            CardService.newOpenLink().setUrl('https://www.google.com'));

const overflowMenu =
    CardService.newOverflowMenu().addMenuItem(overflowMenuItem).build();

매개변수

이름유형설명
menuOverflowMenu이 요소를 클릭할 때 표시할 오버플로 메뉴를 지정하는 객체입니다.

리턴

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