0

Gmailアドオンを初めて使用し、非常に基本的な質問があると確信しています:コールバック関数からアドオンのUIを変更するにはどうすればよいですか?

より具体的には、カードのセクションに表示されるボタンがあります。

section.addWidget(
       CardService.newTextButton()
       .setText('UNSUBSCRIBE')
       .setOnClickAction(
         CardService.newAction()
         .setFunctionName('unsubscribe')
         .setParameters({email: sender.email})));

ご覧のとおり、クリックすると「unsubscribe」という関数が呼び出され、サードパーティの API エンドポイントが呼び出されます。そのエンドポイントからの 200 応答で、「登録解除」ボタンを非表示にし、登録解除要求が正常に完了したことを示すメッセージをユーザーに表示したいと考えています。現在、カード セクションにアクセスする方法がわからないため、代わりに通知を表示しています。

function unsubscribe(e){

  var parameters = e.parameters;
  var email = parameters['email'];

  var data = {
    "code":"XXXX",
    "email": email
  };

  var options = {
    'method' : 'post',
    'contentType': 'application/json',
    'payload' : JSON.stringify(data)
  };

  var response = UrlFetchApp.fetch('https://someurl.com', options);

  if(response.getResponseCode() == 200){

    return CardService.newActionResponseBuilder()
       .setNotification(CardService.newNotification().setType(CardService.NotificationType.INFO)
           .setText(email + " has been unsubscribed from future notices."))
       .build();    
  }

  return CardService.newActionResponseBuilder()
       .setNotification(CardService.newNotification()
           .setType(CardService.NotificationType.WARNING)
           .setText("Something went wrong"))
       .build();

}

代わりに、成功時に UNSUBSCRIBE ボタンを非表示にして、成功メッセージをインラインで表示する方がはるかに優れています。どうすればいいですか?

前もって感謝します。

4

1 に答える 1