SendAs.patch的Gmail API验证范围问题(错误?)

时间:2017-09-04 09:35:15

标签: google-apps-script gmail-api

我已经编写了一个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

删除先前存储的权限并重新运行应用程序后,授权窗口将列出以下权限:

enter image description here

请注意"管理您的基本电子邮件设置" (gmail.settings.basic)丢失了。那么,我做错了什么?我可以纠正这个问题,还是这是一个gmail-api auth bug?

根据https://developers.google.com/apps-script/guides/services/authorization

  

Apps脚本确定授权范围(例如访问您的   谷歌表格文件或Gmail)基于扫描   码。注释掉的代码仍然可以生成授权   请求。如果脚本需要授权,您将看到其中一个   运行时显示的授权对话框。

有没有办法手动申请身份验证?

1 个答案:

答案 0 :(得分:0)

使用此scope

https://mail.google.com/

拥有完全访问权限。你不应该对范围/授权有问题。