繁体   English   中英

使用Google Apps脚本中的Admin SDK Directory API创建组-错误403

[英]Creating a group with Admin SDK Directory API in Google Apps Script - Error 403

我已经阅读了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

弄清楚了:

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

因此,完整的url字符串如下所示:

var url = 'https://www.googleapis.com/admin/directory/v1/groups?key=XXXXXXXXXXX-XXXXXXXXXXXXX-XXXXXXXXXXXXX';

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM