1

我曾经写过一个 GMail 小部件,当 Google 取消对 GMail 小部件的支持时,我不得不将它转换为 Chrome 插件,而我现在正试图将它转换为 Gmail 插件。

我的问题是我的附加组件循环通过标签下的一系列消息并尝试回复它们,但尝试访问它们时出现错误:

错误:异常:访问被拒绝::缺少每个消息范围授权的访问令牌。

所以我的问题是,我怎样才能访问这些消息?我拥有的唯一访问令牌是触发附加组件的那个,但不会这样做。

或者换个角度问,除了打开消息,还有更多的事件可以触发插件吗?

提前致谢。

顺便说一句,我试图转换为 Gmail 插件的 Chrome 扩展程序可以在这里看到:

https://sites.google.com/site/replytomany/home

https://chrome.google.com/webstore/detail/reply-to-many/gpmpcjkhfjflmjpjjmdegpkgginijbin?hl=en

[编辑] 这就是我的 appsscript.json 的样子:

{
  "timeZone": "Europe/Dublin",
  "dependencies": {
    "enabledAdvancedServices": [{
      "userSymbol": "Gmail",
      "serviceId": "gmail",
      "version": "v1"
    }]
  },
  "oauthScopes": [
            "https://www.googleapis.com/auth/gmail.addons.execute", 
            "https://www.googleapis.com/auth/gmail.readonly",
            "https://www.googleapis.com/auth/gmail.send"
         ],
  "gmail": {
    "name": "Reply To Many",
    "logoUrl": "https://www.gstatic.com/images/icons/material/system/1x/receipt_black_24dp.png",
    "contextualTriggers": [{
      "unconditional": {
      },
      "onTriggerFunction": "getContextualAddOn"
    }],
    "primaryColor": "#41f470",
    "secondaryColor": "#94f441",
    "version": "TRUSTED_TESTER_V2"
  }
}
4

2 回答 2

1

您是否尝试实施访问令牌?我的意思是让你先尝试一下,因为我相信如果你没有它,那是你的问题。

// Activate temporary Gmail access token. Where 'e' is the function argument
var accessToken = e.messageMetadata.accessToken; 
GmailApp.setCurrentMessageAccessToken(accessToken); 

如果您有“mail.google.com/”,那么您就没有范围问题,因为这使您可以完全访问。唯一的其他安全问题是访问令牌。

于 2017-12-12T19:57:28.390 回答
0

试试这个范围: https ://www.googleapis.com/auth/userinfo.email 我相信如果你调用 Session 对象'getActiveUser',这就是你需要的

如果这不能解决您的问题,我不相信我可以在没有看到您正在尝试做的事情的情况下提供帮助。

于 2017-12-12T20:52:18.233 回答