Google apps script 在Gmail插件中,如何访问所有线程';GmailApp.search返回的详细信息?

Google apps script 在Gmail插件中,如何访问所有线程';GmailApp.search返回的详细信息?,google-apps-script,gmail,gmail-addons,Google Apps Script,Gmail,Gmail Addons,通过以下方法,我得到了错误: “缺少授权的访问令牌。请求:MailboxService.GetThread” 在var按钮[…]行 函数createItemListCard(){ var card=CardService.newCardBuilder().setHeader(CardService.newCardHeader().setTitle(‘项目列表’); var section=CardService.newCardSection().setHeader(“项”); var threa

通过以下方法,我得到了错误:

“缺少授权的访问令牌。请求:MailboxService.GetThread”

var按钮[…]

函数createItemListCard(){
var card=CardService.newCardBuilder().setHeader(CardService.newCardHeader().setTitle(‘项目列表’);
var section=CardService.newCardSection().setHeader(“项”);
var threads=GmailApp.search(“一些搜索查询”)
对于(var i=0;i
示例代码snipplet似乎在每条消息中使用访问令牌,如:

var accessToken = e.messageMetadata.accessToken;
GmailApp.setCurrentMessageAccessToken(accessToken);
但这毫无帮助。最可能的原因是访问所有线程,而不仅仅是一条消息。文档中提到的
搜索
范围已到位:
https://mail.google.com/

必须有一种方法可以访问Gmail插件中的
GmailApp.search
如何操作?

您需要添加

https://www.googleapis.com/auth/gmail.readonly
到清单中的作用域

可能不明显的是,您需要删除

https://www.googleapis.com/auth/gmail.addons.current.message.readonly
从舱单上。应用程序脚本环境似乎从可用的作用域中选择了限制最严格的权限集:如果清单中同时包含两个作用域,则只能获得当前的.message.readonly权限(并且您将无法与任何其他邮件进行交互)

我还发现我需要完全卸载加载项,然后重新安装它以使新的作用域生效。

您需要添加

https://www.googleapis.com/auth/gmail.readonly
到清单中的作用域

可能不明显的是,您需要删除

https://www.googleapis.com/auth/gmail.addons.current.message.readonly
从舱单上。应用程序脚本环境似乎从可用的作用域中选择了限制最严格的权限集:如果清单中同时包含两个作用域,则只能获得当前的.message.readonly权限(并且您将无法与任何其他邮件进行交互)


我还发现我需要完全卸载加载项,然后重新安装,以使新的作用域生效。

GmailApp.search存在的意义是什么?请求一个更允许的作用域。比
https://mail.google.com/
?GmailApp.search存在的意义是什么,然后?请求一个更宽松的范围。比
https://mail.google.com/