我正在尝试使用Google Apps脚本将用户添加到Google网上论坛。
这是我尝试过的代码:
// Adds a user to a Google Group
function addUsertoGroup(userEmail) {
var userEmail = '[email protected]'
var groupId = "[email protected]";
var group = GroupsApp.getGroupByEmail(groupId);
// If email is already in group
try { var hasMember = group.hasUser(userEmail);}
catch(e){Logger.log(userEmail+" is already in the group"); return}
var newMember = {email: userEmail, role: "MEMBER"};
// This is the line which is throwing an error
AdminDirectory.Members.insert(newMember, groupId);
运行时,我收到一个错误:
对directory.groups.get的API调用失败,出现错误:找不到域。
任何帮助将不胜感激。
澄清:
AdminDirectory
功能(或能够通过Apps脚本将用户添加到组中。gmail
配置的组设置添加https://groups.google.com或任何其他非相同域的用户,>解决方法
我通过script.gs
拥有一个G Suite帐户,并且我测试了您共享的代码-完美:)除了需要从G Suite帐户启用的以下内容之外,还可以。
导航到资源>高级Google服务...]并启用Admin Directory API
就是这样。我创建了该组,启用了所有设置,使该组对所有人都可用,并且像一个超级按钮一样起作用。
让我知道您是否还需要进一步的澄清或帮助。
编辑注释:
所以,这也是我必须确保[[所有人
(甚至可以将域外的人添加为用户)的方式,如Set Groups for Business sharing options所示。当您转到Groups for Business并浏览设置时,您将启用以下至关重要的选项-显然,您可以根据需要随意调整所有其他设置。
根据您的示例代码,您尝试将gmail.com用户添加到公共Google网上论坛,因为您不能使用管理目录API,因为您不是管理公共网上论坛的域的管理员。
并且在这种情况下,就像您一样,您只能使用GroupsApp服务,并且该服务仅允许您检查用户是否在ggroup中或该角色是什么。
=>使用GroupsApp服务,无法将用户添加到公共Google网上论坛。
斯特凡