我已经编写了一个Google Apps脚本网络应用,允许用户通过Gmail API使用html表单模板更改其gmail签名。这已经工作了几个月,但突然停止了工作。我得到的控制台错误是:
mae_html_user_bin_i18n_mae_html_user.js:40 Uncaught Error: Missing required scope "https://www.googleapis.com/auth/gmail.settings.basic" for modifying primary SendAs
at setSignature (Code:151) (Email Signature Generator:21)
此错误指的是使用以下代码行:
Gmail.Users.Settings.SendAs.patch(newSig, "me", Session.getActiveUser().getEmail());
SendAs.patch需要以下授权:
https://developers.google.com/gmail/api/v1/reference/users/settings/sendAs/patch
https://www.googleapis.com/auth/gmail.settings.basic
https://www.googleapis.com/auth/gmail.settings.sharing
删除先前存储的权限并重新运行应用程序后,授权窗口将列出以下权限:
请注意"管理您的基本电子邮件设置" (gmail.settings.basic)丢失了。那么,我做错了什么?我可以纠正这个问题,还是这是一个gmail-api auth bug?
根据https://developers.google.com/apps-script/guides/services/authorization:
Apps脚本确定授权范围(例如访问您的 谷歌表格文件或Gmail)基于扫描 码。注释掉的代码仍然可以生成授权 请求。如果脚本需要授权,您将看到其中一个 运行时显示的授权对话框。
有没有办法手动申请身份验证?