我创建了一个工作表侧边栏插件,允许用户选择一个组并根据工作表中的列更新成员。
当我以我的管理员帐户运行它时,一切正常; 但是,当普通的G Suite用户运行插件时,他们会遇到问题,因为我用来将用户添加到组的api是Admin SDK目录。
这是我尝试以普通G Suite用户身份运行时的错误 - "GoogleJsonResponseException:对directory.members.delete的API调用失败,出现错误:无权访问此资源/api">
member = AdminDirectory.Members.remove(str, userEmail(; 或member = AdminDirectory.Members.insert(member, str(;
如果我部署为以管理员身份运行,这在 Web 应用程序中工作正常。
任何指导或提示将不胜感激。
很遗憾,您无法授予运行该用户没有的附加组件权限。
如果您希望用户运行脚本,则需要从用户管理控制台为其/他的组织单位分配各自的角色或权限。
我建议您创建一个自定义管理员角色,仅向用户授予运行插件所需的权限。
如果您正在考虑使用服务帐户运行应用程序脚本,则需要安装 OAuth2 库并使用 JSON 请求执行UrlFetchApp.fetch()
调用。