gmail-addons - 与 Gmail 插件或 Gmail 的 chrome 扩展一起使用更好吗?
问题描述
我是谷歌产品的新手。我打算开始在 gmail 中添加一些东西。使用 Add on 或类似于 Add on 的 chrome Gmail Extension 会更好吗?如果是附加组件,我们不能直接在附加组件中启动自定义网址吗?这是在产品管道中吗?目前,我们需要为 Add-on 构建整个 UI。我认为,这很难维护 google 自定义 UI。
解决方案
这取决于您的要求,这里有一些方法:
- Gmail 插件
- 收件箱SDK
- Gmail API
Gmail 插件
允许您:
- 在 Gmail 用户界面中显示用户的其他信息。
- 连接到非 Google 服务,以检索信息或采取其他行动。
- 提供交互界面以允许用户控制插件或将信息发送到另一个服务。
- 使用其他内置的 Apps 脚本服务,例如 CalendarApp 来检索信息。
因此,您可以访问已登录用户的数据并轻松使用用户界面。这些插件是在 Google App Script 脚本中制作的,并且与移动 Gmail 应用程序版本兼容。
我在上面列出了一些赞成的论点,现在列出了一些(主观的)骗局。
- 尽管您可以更改颜色等,但您必须使用他们的布局系统。
- 要激活您的附加组件,您必须首先打开消息或撰写视图。
- 我认为你不能使用 JavaScript 库/框架。
如果我提到的缺点不适用于您的要求,Gmail 附加组件是更好的方法。
收件箱SDK
允许您创建一个 (Chrome) 扩展程序,让您:
- 将您自己的用户界面插入 Gmail 或收件箱。
- 与 ComposeView 等简单的高级类交互。您在类上调用简单的方法(如添加按钮或获取主题),SDK 会将整个 DOM 抽象出来。
- 使用所需的工具,让您感觉像是 Gmail 和 Inbox 的原生部分。
- 将您的扩展注册为 Gmail UI 侧边栏应用。
简而言之,您可以将元素、功能等添加到您的 Gmail 或 Inbox UI 并与其组件交互。它在布局方面更加灵活,使用 JavaScript 库/框架,但学习曲线稍微陡峭。此外,您的应用程序/扩展程序可以在每个视图上运行,而不仅仅是在打开消息或撰写视图之后。
现在一些(主观的)骗局:
- 由于它主要是为与 UI 交互而设计的,因此您可以访问的数据是有限的。您可以检索一些线程、用户或消息 ID,但这就是它停止的地方。
- 当您不直接在 Gmail 或 Inbox 的 UI 中工作时,很难对 Gmail 标准应用程序(如“任务”、“保持”)的扩展进行布局或设置样式。例如,当您制作一个侧边栏应用程序时。
有限的数据访问对我来说是一个主要问题,但可以通过使用 Gmail API 来解决。Gmail 插件有足够的权限访问用户的数据。
Gmail API
以下信息直接从他们的指南部分粘贴:
Gmail API 为您提供了对用户收件箱的灵活、RESTful 访问,以及对线程、消息、标签、草稿、历史记录等的自然界面。设置。
- 阅读来自 Gmail 的邮件
- 发送电子邮件
- 修改应用于消息和线程的标签
- 搜索特定消息和线程
- 创建过滤器以自动标记、转发或归档邮件
典型用例(也来自文档):
- 只读邮件提取、索引和备份。
- 标签管理(添加/删除标签)。
- 自动或程序化的消息发送。
- 从其他提供商迁移电子邮件帐户。
- 为域中的用户设置标准化的电子邮件签名。
您可以在自定义应用程序和 (Chrome) 扩展中使用它,但这不包括任何与 UI 相关的功能。此外,在制作 Gmail 插件时无需使用它,因为它已经集成。
结论
要回答您的问题,请选择第一个选项。它允许与第三方 API 或您自己的自定义 API 进行交互,它与移动应用程序版本兼容,并提供 UI 构建块。我强烈建议您查看Clasp以开发、维护、同步您的 Google 应用脚本等等!
推荐阅读
- java - 如何在棒棒糖前使用它的名字显示国旗
- python - 在 Python 中查找未知值
- java - 使用 Swing 控件实现一个简单的计算器 GUI
- django - pre_delete 信号在特定目录中不起作用
- many-to-many - 如何使用 DDD 为股票跟踪模型设计聚合根?
- continuous-integration - Setting up CI/CD for an AWS CDK app using AWS CodeBuild/Deploy/Pipeline
- python - 如何避免 Python3 的这些行中出现无效的语法错误?
- r - 使用 data.table 查找重叠区间组
- python - 有没有办法通过python打开一个excel表?我想在不使用路径的情况下打开它
- c++ - 关于这个函数中参数的问题