带chat.bot scope的Google服务账号能否跨Google WorkSpace发送消息?
关于Google Chat App跨域发送Async卡片消息的问题
问题背景
我们正在开发一款Google Chat App,特定场景下需要向用户发送带交互组件的Async card message。已遵循Google官方文档指引,使用拥有https://www.googleapis.com/auth/chat.bot scope的服务账号,目前能成功向自身Google WorkSpace域(如myappdomain.com)的用户发送消息。根据文档说明服务账号不绑定域,现咨询以下两个问题:
- 是否可使用同一服务账号凭证向其他Google WorkSpace域(如externaldomain.com)的用户发送Async card message?
- 若不可行,是否需要请求externaldomain.com管理员创建具备所需scope的服务账号并共享其.json文件?
问题解答
问题1:跨域发送可行性
不能直接用当前服务账号向其他Google WorkSpace域的用户发送Async卡片消息。虽然服务账号本身不绑定域,但Google Chat的权限机制有明确要求:外部域的用户要接收第三方应用的消息,必须由该域的管理员先将你的Chat App安装到他们的域中,并完成相应权限配置。仅靠你这边的服务账号凭证,无法绕过对方域的权限管控。问题2:替代方案
不需要对方域单独创建服务账号。正确的操作路径是:- 让externaldomain.com的管理员在他们的Google WorkSpace控制台中,将你的Chat App添加到允许的第三方应用列表,并完成安装配置;
- 确保你的服务账号持有的
chat.botscope权限在对方域中被认可,对方管理员可能需要在域内配置对应的API访问权限; - 上述配置完成后,你就可以用现有的服务账号向该域的用户发送Async卡片消息了。
内容的提问来源于stack exchange,提问作者Kumar Tech
相关产品推荐
相关产品推荐

