我有一个没有谷歌应用程序管理员帐户(普通用户),我想运行一个谷歌应用程序脚本,拉动谷歌组的成员列表。我目前的方式是使用AdminSDK,但不知道如何授权这个普通用户提取组成员列表。
当我跑步时并不奇怪:
var listOfUsers = AdminDirectory.Members.list(groupname);
Logger.log(listOfUsers);
我收到“未授权访问此资源/ api”。
我认为我需要使用oauth2.0,但我找不到任何谷歌应用程序脚本实现。此外,我在开发者控制台中创建了一个API项目,但我不确定这个普通用户是否拥有使用该API的正确设置/权限。
有人能指出我如何实施oauth2.0,或者最好是在谷歌应用脚本中如何实现它的代码片段?我需要在google开发者控制台的API项目中启用哪些设置才能让此用户访问群组信息?
答案 0 :(得分:1)
如果您只是想要获取该组的成员,而不是修改该组,则可以使用GroupsApp。
如果你想验证成员资格,你也可以使用hasMember方法,比如说Session.getActiveUser();
这是一个简单的例子:
function getGroupMembers() {
try {
var groupEmail = 'cyrus-apps-script@googlegroups.com';
var group = GroupsApp.getGroupByEmail(groupEmail);
var users = group.getUsers();
for (var u = 0; u < users.length; u++){
// do something witty with the list of users
Logger.log(users[u].getEmail());
}
} catch(err) {
Logger.log(err.lineNumber + ' - ' + err);
}
}