问题标签 [gsuite-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.
google-apps-script - 我的 GSM Gmail 插件不显示该卡
我已经为我的域构建了一个 GSM 插件并发布了它。我在 Google Apps Script 上构建了代码,并在 Google API Console 中进行了设置。我为我的域安装了它,但它没有在 Gmail 中显示卡片 它应该显示在侧边栏和撰写窗口中。当我从 google 应用程序脚本中安装 head 版本时它工作正常,但是我将它发布到 GSM 以供我组织中的用户使用它不起作用。该插件的目的是从卡片中的字段收集信息并在电子邮件模板中使用这些信息。我认为这可能与 OAuth 范围有关,但我不确定。这是我的第一个 GSM 项目,我不知道应该在我的代码和 Google API 控制台中声明什么 OAuth 范围。
这是我的代码,我有 2 个文件,appscript.json 和 code.gs。代码.gs:
appscript.json:
我在 OAuth 同意屏幕页面中指定的范围如下:
电子邮件
轮廓
打开ID
Email、profile 和 openid 是默认添加的,它们是强制性的
以下是我在 GSM SDK 的配置页面中指定的范围。
https://www.googleapis.com/auth/userinfo.email
google-apps-script - 我可以在 Google Docs/Sheets/etc 的侧边栏中添加自定义应用程序吗
按照https://developers.google.com/gsuite/add-ons/cats-quickstart上的示例代码,我已经能够创建一个可以在 Calendar/Drive/G-mail 上使用的 GSuite 插件页。文档、表格等中的类似侧边栏(即包含日历/保留/任务的侧边栏)没有我的应用程序图标。
我的清单文件如下所示:
google-apps-script - 异常:获取对象 ContactsApp 上的方法或属性 getContactGroups 时出现意外错误
我正在制作一个 gmail 插件,我正在尝试使用以下代码获取用户的联系人组(标签):
var groups = ContactsApp.getContactGroups();
我已经https://www.google.com/m8/feeds
在清单文件 (appsscript.json) 中添加了必需的范围:但它返回“异常:在对象 ContactsApp 上获取方法或属性 getContactGroups 时出现意外错误”。当它是默认应用程序脚本项目时,此方法运行良好。在将我的应用程序脚本项目与谷歌云项目链接后,我开始得到这种期望。我也在我的项目中使用 People API。当我https://www.google.com/m8/feeds
在谷歌云平台的同意屏幕上添加范围时,它不会出现在那里。相反,https://www.googleapis.com/auth/contacts
显示在范围列表中。这可能是因为我使用的是 People api,而这两个范围都用于读/写用户的联系人。并且我在谷歌云平台上的同意屏幕仍在验证中。
此外,我无法使用ContactsApp
类提供的任何方法。我使用时遇到了同样的异常var contact = ContactsApp.getContact("abc@gmail.com");
任何帮助,将不胜感激。
谢谢
gsuite-addons - 我可以从独立脚本定义一个简单的触发器吗?
具体来说,我想使用该onSelectionChange(e)
事件根据所选单元格中的内容显示侧边栏。问题是:我正在处理的项目是一个独立的脚本。所以我想知道是否有办法使用onOpen
事件(例如)并检查脚本是否从电子表格运行并以某种方式“注入”触发器。
google-cloud-platform - 虽然尝试使用应用名称添加白名单应用在 G Suite 中不起作用
当我尝试在 google Admin=>Security=>App Access Control=>Apps 中使用应用程序名称添加时,它不起作用
当我尝试clientid
在 google Admin=>Security=>App Access Control=>Apps working中添加使用应用程序时
我附上了截图
google-apps-script - 制止来自我们领导团队的虚假电子邮件......我如何部署我的脚本?
厌倦了我的 G Suite 用户喜欢“来自”我们的 CEO 和其他领导团队成员的电子邮件,而我在所有外部电子邮件的主题中附加的 [EXTERNAL] 非常棒,但并没有帮助所有人。
我编写了一个 Google Apps 脚本,将发件人的“发件人”姓名与该用户的公司电子邮件和个人电子邮件进行比较,然后如果不匹配,它将电子邮件转发给 IT(以确认/让用户知道它在某种程度上是合法的),然后将其删除到用户的垃圾箱中。
我有一个触发器来设置,所以它每分钟运行一次。它只在电子邮件中查看 3 分钟,因此它不会浪费资源/运行,而且如果由于某种原因出现错误也不会错过。已经为几个用户单独设置了一个测试和我自己,它似乎工作得很好。
在 Google Add-Ons 示例中没有找到真正适合此用例的用例后,我的问题......
我如何最好地将它部署到我的所有域用户,以便它使用现有的 1 分钟触发器,不需要用户交互 - 除了可能安装,并在我更新脚本时更新?我正在阅读有关卡片和图标以及打开电子邮件的触发器等内容,但这些都不是我想要的。我希望它始终在后台运行,如果用户只在他们的手机或 Mac Mail/Outlook 上查看电子邮件,脚本仍在捕获虚假电子邮件。
有没有人做过这样的事情。Google 支持人员,我在搜索答案时是否遗漏了某个页面?
google-apps-script - 如何为在 Apps 脚本上运行的 G Suite 插件获取 OAuth 刷新令牌?
考虑到获取用户同意的授权流程是由 Apps 脚本处理的,有谁知道如何获取 G Suite 插件的刷新令牌?
我知道如何使用该方法获取访问令牌
但我不知道如何获取特定用户的刷新令牌。
语境:
我有一个插件,允许用户安排定期会议。用户在从 G Suite Marketplace 安装插件时授予应用程序对其日历的访问权限,因此我可以在他们运行脚本时在他们的日历上读写。
我想在会议前一天向他们发送电子邮件提醒,所以我想在他们不运行脚本时使用云功能在后台阅读他们的日历。
为了做到这一点,我需要拥有该用户的刷新令牌,因为访问令牌过期。
我现在真的坚持了很多天。任何帮助将非常感激!
非常感谢。
javascript - Google 日历示例在部署时出现 503 错误(服务不可用)
我正在尝试使用Building conferencing add-ons和Building conferencing add-ons sample中的示例。
我将示例会议插件部署到我的谷歌帐户并尝试进行测试。但它未能创建会议并给我503 error (Service Unavailable)
。
实际上我是 Google Conference Add-Ons 的初学者。它显示“该服务当前不可用”。那正确吗?还是我必须做更多的事情才能使其可用?
谢谢你。
PS:以下链接是我使用的源代码。 https://drive.google.com/file/d/1uWtscnOu5UXy57EZ1isNufTofunN0jPC/view?usp=sharing
google-apps-script - Using authorization token from G Suite add-on for use on my api service
Is it possible to authorize a user in the G Suite Add-on, and then use its token on my API service to work with Sheets Client Libraries. I have a Client ID and Client Secret from Google OAuth for my web application, and Google authorization is also connected on my web app. And now I want to develop an Add-on for google sheets that will communicate with my api.
For example:
- User installs G Suite Add-on.
- Provides access to sheets and other services...
- Launches Add-on and opens the sidebar.
- Set parameters for data insertion and run process.
- App Script sends a request for my api with user parameters from the sidebar.
- Api retrieves data from the database and writes it to the table using Sheets Client Libraries.
How to correctly configure user authorization in the G Suite Add-on for use the Client ID and Client Secret of my api and user token received from the G Suite Add-on for use Sheets Client Libraries on my api service?
If this is not possible, please tell me how to correctly implement this logic for the G Suite Add-on. Thank.