代码之家  ›  专栏  ›  技术社区  ›  searain

如何在try-catch错误块中授予Google Apps脚本应用权限

  •  0
  • searain  · 技术社区  · 6 年前
    try {  
       ...
      } catch (e) {
        Logger.log('Failed to get claim search list, error: %s', e.message);
    
        // email the notice
        var recipient = 'xxxxxxx';
        var subject = 'Failed list';
        var body = e.message;
        MailApp.sendEmail(recipient, subject, body);
    
        return false;
      }
    

    MailApp.sendEmail(recipient, subject, body); 
    

    从来没有机会跑。因此,我永远无法给予允许这个应用程序在我的谷歌帐户下发送电子邮件的权限。

    当我计划这个应用程序每天自动运行时。在非常罕见的情况下,发生了错误,但从未授予此应用程序为我的帐户发送电子邮件的权限。所以邮件就没有发出。

    所以我必须手动模拟错误案例来授予权限。我可以通过这个控制面板添加权限,

    https://myaccount.google.com/permissions

    或者,当我们刚刚运行的语句需要权限时,它总是手动运行应用程序并授予权限。

    对于一个“复杂”的应用程序,很难模拟所有的用例并触发该脚本可能需要的所有权限授予窗口。

    我是否必须编写一个虚拟函数唯一的目的是触发所有的权限授予窗口?

    0 回复  |  直到 6 年前