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 ボタンを非表示にして、成功メッセージをインラインで表示する方がはるかに優れています。どうすればいいですか?
前もって感謝します。