You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过脚本为域内用户批量启用Apps Script API?

程序化启用域内用户的Google Apps Script API方法

可以通过Google Workspace Admin SDK的Settings API结合服务账号的全域委派,批量为域内用户启用Apps Script API,无需用户手动访问设置页面操作。

前提条件

  • 服务账号已配置全域委派,并在Google Workspace Admin控制台授权以下权限范围:
    • https://www.googleapis.com/auth/admin.directory.user.security
    • https://www.googleapis.com/auth/script.projects(你已配置的权限)
  • 服务账号关联的管理员账号拥有修改用户安全设置的权限(建议使用超级管理员角色)

单个用户启用操作示例

通过模拟目标用户身份,调用Admin SDK接口修改其Apps Script API启用状态:

// 假设已通过服务账号获取到目标用户的accessToken
const userEmail = "target-user@your-domain.com";
const apiUrl = `https://admin.googleapis.com/admin/directory/v1/users/${userEmail}/settings/apps/script`;
const payload = JSON.stringify({ enabled: true });

const response = UrlFetchApp.fetch(apiUrl, {
  method: 'put',
  headers: {
    'Authorization': `Bearer ${accessToken}`,
    'Content-Type': 'application/json'
  },
  payload: payload
});

// 验证响应
console.log(`启用状态修改结果: ${response.getResponseCode()}`);

批量处理域内所有用户

  1. 调用Admin SDK Directory API的用户列表接口,获取域内所有用户邮箱:
    const listUrl = "https://admin.googleapis.com/admin/directory/v1/users?domain=your-domain.com&maxResults=500";
    const listResponse = UrlFetchApp.fetch(listUrl, {
      headers: { 'Authorization': `Bearer ${adminAccessToken}` }
    });
    const users = JSON.parse(listResponse.getContentText()).users;
    
  2. 遍历用户列表,逐个执行上述启用操作(注意控制请求频率,避免触发API配额限制)

关键注意事项

  • 必须以目标用户的身份模拟调用接口,服务账号直接调用无法修改其他用户的个人设置
  • 操作前先针对单个用户测试,确认设置生效后再批量执行
  • 确保API调用在配额范围内,批量操作可添加间隔延迟避免被限流

内容的提问来源于stack exchange,提问作者Daniele Debiagi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 00:38:28