1

我已经阅读了Admin ADK Directory API 文档中的所有相关页面以及有关 stackoverflow 的几个问题,但我仍然卡住了。

我正在尝试使用 Google Apps 脚本(Google 表格的脚本编辑器中的容器绑定)来创建一个组。我是我的 Google Apps 域的超级管理员,脚本将以我的身份运行。

到目前为止,这是我在脚本编辑器中所做的:

  1. 前往资源 - 高级 Google 服务... - 打开 Admin Directory API

  2. 单击 Google Developers Console 下方的链接并启用 Admin SDK

  3. 使用了我用来设置用户电子邮件签名的工作代码(改编自这篇博客文章,并对其进行了修改以创建组:

    function createGroupTest() {
    
      var t = new Date();
      t = t.getTime();
    
      createGroup("AAA Test Group " + t, "aaa.testgroup." + t + "@mydomain.com" , "test@mydomain.com", "test");
    
    }
    
    function createGroup(groupName,groupEmail,owner,description) {
    
      var requestBody = '{"email": "'+groupEmail+'","name": "'+groupName+'","description": "'+description+'"}';
    
      var scope="https://www.googleapis.com/auth/admin.directory.group";
      var fetchArgs=googleOAuth_("Groups",scope);
      fetchArgs.method="POST";
      fetchArgs.contentType="application/json";
      fetchArgs.payload=requestBody;
    
      var url = 'https://www.googleapis.com/admin/directory/v1/groups';
    
      UrlFetchApp.fetch(url, fetchArgs);
    
    }
    
    
    function googleOAuth_(name,scope) {
      var oAuthConfig = UrlFetchApp.addOAuthService(name)
      oAuthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?scope="+scope);
      oAuthConfig.setAuthorizationUrl("https://www.google.com/accounts/OAuthAuthorizeToken");
      oAuthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");
      oAuthConfig.setConsumerKey(consumerKey);
      oAuthConfig.setConsumerSecret(consumerSecret);
      return {oAuthServiceName:name, oAuthUseToken:'always'};
    }
    

当我运行它时,我得到以下响应:

Request failed for returned code 403. Truncated server response: { "error": { "errors": [ { "domain": "usageLimits", "reason": "dailyLimitExceededUnreg", "message": "Daily Limit for Unauthentica... (use muteHttpExceptions option to examine full response) (line 60, file "Main")

当我添加fetchArgs.muteHttpExceptions=true;错误输出更改为Failed to authenticate for service: Groups.

4

1 回答 1

0

弄清楚了:

  1. 前往资源 - 高级 Google 服务...
  2. 单击 Google Developers Console 的链接
  3. 单击侧栏中的凭据部分
  4. 单击公共 API 访问下的创建新密钥
  5. 单击的浏览器键
  6. 在 url 字符串的末尾添加了 "?key=" 后跟它生成的密钥

所以完整的 url 字符串如下所示:

var url = 'https://www.googleapis.com/admin/directory/v1/groups?key=XXXXXXXXXXX-XXXXXXXXXXXXX-XXXXXXXXXXXXX';
于 2014-06-24T22:25:50.030 回答