能否以脚本所有者身份运行Apps Script开发的Chat Bot?
Google Chat Bot 以脚本所有者身份执行的配置问题解答
很遗憾地告诉你,目前没办法通过appscript.json配置或者部署设置,让Google Chat Bot像Web Apps那样以脚本所有者身份运行,这是当前基于Apps Script开发的Chat Bot的一个权限模型限制。
为什么会有这个限制?
Google Chat Bot的授权逻辑是和触发它的用户绑定的:当用户在Chat空间里调用Bot时,Bot默认会以该用户的身份执行操作,继承用户的权限范围。而Web Apps是独立的HTTP服务,面向的是外部请求,所以设计了“以我身份执行”的选项来适配不同的场景,这两者的权限模型是不一样的,官方文档里也没有提到支持通过配置文件修改Chat Bot的执行身份。
你可以做的事
既然你已经提交了Issue Tracker的功能请求,那可以持续关注这个请求的状态——很多Google Workspace的新功能都是从开发者的需求反馈来的,说不定后续会支持这个配置。
如果现在就需要实现类似“以所有者身份执行”的效果,有两个替代方案可以试试:
- 使用服务账号:创建一个Google Cloud服务账号,给它分配你需要的权限(比如访问特定Google Sheets、Drive文件的权限),然后在Apps Script里借助OAuth2库,用服务账号的身份来执行需要高权限的操作,这样就能绕开当前用户的权限限制。
- 通过Web App中转:把需要所有者权限的逻辑单独封装成一个Web App,部署时设置为“以我身份执行”,然后让Chat Bot调用这个Web App的接口,间接实现用所有者权限完成操作。
内容的提问来源于stack exchange,提问作者printminion
相关产品推荐
相关产品推荐

