![](/img/trans.png)
[英]Creating a group with Admin SDK Directory API in Google Apps Script doesn't work "On form submit"
[英]Creating a group with Admin SDK Directory API in Google Apps Script - Error 403
我已经阅读了Admin ADK Directory API文档中的所有相关页面以及有关stackoverflow的几个问题,但我仍然很困惑。
我正在尝试使用Google Apps脚本(在Google表格的脚本编辑器中绑定到容器)创建一个组。 我是我的Google Apps域的超级管理员,这些脚本将像我一样运行。
到目前为止,这是我在脚本编辑器中所做的事情:
进入资源-高级Google服务...-打开了Admin Directory API
点击了Google Developers Console下方的链接,并启用了Admin SDK
拿到了我用来设置用户电子邮件签名的工作代码(此代码改编自此博客文章 ,并对其进行了修改,以创建组:
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
。
弄清楚了:
因此,完整的url字符串如下所示:
var url = 'https://www.googleapis.com/admin/directory/v1/groups?key=XXXXXXXXXXX-XXXXXXXXXXXXX-XXXXXXXXXXXXX';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.