问题标签 [gmail-addons]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1769 浏览

google-apps-script - 在服务器端执行 Google Apps Script Async 函数

我有一个使用 CardService 作为 UI 的 GMail 插件。卡片操作的某些回调函数需要超过 30 秒。因此,我收到以下错误。

Gmail 无法执行此附加操作。

有什么方法可以在服务器端异步运行 Google Apps 脚本功能,这样我就可以向用户返回一些通知并继续在幕后工作。

我尝试过使用一些像这样的库但没有运气,我能够在语法上使用 Promises,但在功能上它仍然是同步的。

0 投票
1 回答
199 浏览

google-apps-script - 在 Gmail 插件中保存状态

我希望能够在我的 Gmail 插件中保存状态。可能吗?饼干之类的东西。(为了验证用户的目的)

谢谢

0 投票
1 回答
673 浏览

google-apps-script - oauth 游乐场中的 OAuth2 redirect_url_mismatch 错误

在此处输入图像描述 我已经创建了凭据并将我的 Gmail 插件配置为使用相同的凭据。

我在 Gmail 插件中使用:https ://github.com/googlesamples/apps-script-oauth2 (我没有使用消息的临时访问令牌)。

我已经从 Gmail 插件应用程序生成了一个“验证码”(没有创建访问令牌)。我现在想使用它从 Auth Playground 生成访问令牌 [我终于想使用另一个 Java 应用程序的授权代码来提取用户电子邮件]

我想检查 OAuth Playground 是否可以使用相同的授权码

在 OAuth2 Playground 中使用 Gmail 插件中的“授权码”总是给出:redirect_url_mismatch 错误。

我再次确认我有:https://developers.google.com/oauthplayground列在“授权的重定向 URI”下,我尝试过使用和不使用斜线。

我已正确使用“使用您自己的 OAuth 凭据”并输入了客户端 ID 和密码。Gmail 插件用于创建身份验证令牌的相同。

首先,是否有可能实现我想要做的事情?如果是这样,我错过了导致此错误的原因是什么?

我可能遗漏了一些东西,但我无法确定它。

我已经阅读了其他类似问题的答案,但没有成功地让它发挥作用。

在此处输入图像描述

设置客户端的代码(凭据与我在 playgound 中使用的凭据相同,存储在属性中):

在此处输入图像描述

0 投票
1 回答
616 浏览

email - 在 Gmail 应用程序脚本中提取原始邮件

在我的 Gmail 插件中,我希望能够阅读当前电子邮件的原始 (MIME) 消息。

我怎样才能做到这一点?

0 投票
0 回答
177 浏览

google-apps-script - 设置 Gmail 插件 GUI 的大小

我没有看到任何改变 Gmail 插件 GUI 尺寸的方法。是否可以设置 Gmail-Addon 应用程序的宽度和高度?

0 投票
2 回答
1167 浏览

google-apps-script - 在 Gmail 中单击“撰写”按钮时触发 Google App 脚本

我正在开发一个 Gmail 插件,并停留在点击撰写按钮时必须触发我的一个应用程序脚本功能的地方,所以我的用例是,每当点击撰写按钮时,我的应用程序脚本功能将返回文本要在撰写邮件窗口中显示的草稿,用户可以编辑该草稿并发送它,我发现 Gmail 插件中有可用的撰写操作(https://developers.google.com/gmail/add-ons/how -tos/compose),但是当在您的 Gmail 插件 UI 中触发的事件时,这是可能的。除此之外,我只能看到一个“无条件”触发器,只要打开任何 gmail 消息就会触发(https://developers.google.com/gmail/add-ons/how-tos/building#contextual_triggers)。那么我的用例有什么解决方法吗?首先有可能吗?

0 投票
1 回答
431 浏览

google-apps-script - 无需用户单击插件图标即可自动打开 gmail 插件卡

我正在寻找一种方法(我理解这似乎不是一个好主意)来强制我的 Gmail 插件自动打开一张卡片并显示它。

基本上,插件应该检查​​当前电子邮件的标签,然后自动触发插件的一些“showPanel”。

我看到了一些关于谷歌表格的答案,但没有在用户触发的情况下在 Gmail 插件中解决这个问题。

附加 Chrome 扩展方式 ??: 如果这不可能。我还有一个 chrome 扩展(用户将安装)点击由 chrome 扩展创建的链接,我可以以某种方式触发插件图标点击事件吗?

抱歉,如果这些基本内容无法找到任何直接有用的信息。

0 投票
0 回答
102 浏览

internationalization - GmailAdd on universalActions 文本国际化

我一直在开发 GmailAddon。它有一个并在https://developers.google.com/gmail/add-ons/how-tos/universal-actionsuniversalAction的 appscript.json 中实现。我的通用块是

问题是我的插件应该支持多语言。如何使用当前语言更改universalActions 的文本?

干杯。

更新

我解决了问题Card Actions并删除了universalActions块。根据卡片创建任何操作,您可以从https://developers.google.com/apps-script/reference/card-service/card-action获得更多详细信息。

0 投票
1 回答
273 浏览

google-apps-script - 服务器和 Gmail 插件之间的跨客户端授权

背景:

这是关于使用使用 Google App 脚本创建的 Gmail 插件。当用户安装插件时,会出现 OAuth 同意屏幕,用户在其中同意允许“向用户显示产品名称”(如 OAuth 屏幕中配置的那样)允许指定的访问权限。

现在,我读到:https ://developers.google.com/identity/protocols/CrossClientAuth

其中指出:

当用户在特定范围内授予对您的应用程序的访问权限时,该用户正在查看用户同意屏幕,其中包括您在 Google API 控制台中设置的项目级产品品牌。(有关设置同意屏幕的信息,请参阅 API 控制台帮助中的设置 OAuth 2.0。)因此,Google 认为,当用户向项目中的任何客户端 ID 授予对特定范围的访问权限时,该授予表明用户的信任该范围的整个应用程序。

现在,我有一个服务器 Web 组件(一个 lambda)(属于同一产品),它需要访问用户的电子邮件,该访问权限与用户在安装插件后提供的相同访问权限(“授权访问”按钮)。

问题) :

在我的情况下,有没有办法让跨客户端(后端服务器和 gmail 插件)让后端只访问用户的数据而不触发额外的(基本上是用户同意的任何内容)?

注意:使用使用 GAS OAuth 库手动触发的附加授权屏幕,我能够获得传递给服务器的“身份验证代码”,服务器现在可以使用该代码访问同意的数据(我们使用了相同的客户端 ID 和秘密)。但是,这种方法的问题是:

  • 用户收到 2 封有关授予权限的电子邮件。插件和手动触发的流程。
  • 用户必须授权 gmail 插件进行首次访问,然后我手动触发另一个。即使有一种方法可以在用户安装插件时获得“验证码”也可以。

提前道歉,有很多零散的文档,虽然我经历了很多,但很可能我错过了一些东西。

0 投票
1 回答
49 浏览

google-apps-script - 在 Gmail 应用程序中检索帐户的电子邮件地址

我正在编写一个 Gmail 插件,我需要用户帐户的电子邮件地址。如何使用 appscript 检索它?