如何在 Google 应用脚本 (Admin SDK) 中获取 Google 群组中的成员列表? [英] How to get the list of members in a Google group in Google app script (Admin SDK)?

查看:23
本文介绍了如何在 Google 应用脚本 (Admin SDK) 中获取 Google 群组中的成员列表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想使用 Admin SDK 获取 Google 群组中的成员列表.

I would like to get a list of members in a Google group using Admin SDK.

但我不知道如何做到这一点.我在下面找到了链接 - https://developers.google.com/admin-sdk/directory/v1/guides/manage-group-members

But im not getting how to do this. I found below link - https://developers.google.com/admin-sdk/directory/v1/guides/manage-group-members

但我不知道如何在 Google 应用脚本中使用 POST 方法.

But I do not know how to use POST method in Google app script.

有人可以举个例子来指导我吗?

Can someone please guide me with an example?

更新

我得到如下输出,但我想为组中的每个成员分别访问每个元素(角色、电子邮件).那可能吗??

I got the output as below, But i would like to access each element (role,email) separately for each member of the group. Is that possible??

<代码>{"角色": "所有者","kind": "admin#directory#member",类型":用户","etag": ""fdo0/1gUrEe8bli75zvzmqFHyH3cPzlQ"","id": "107108832717913338955","email": "useremailid@domain.com",状态":活动"}

提前致谢.

推荐答案

请按照步骤操作,

  1. 使用超级管理员帐户登录您的 G 驱动器.
  2. 创建一张 Google 表格.
  3. 转到工作表工具菜单 -- 脚本编辑器.. 保存脚本项目项目.启用管理 SDK
  4. Apps 脚本编辑器点击Resources 菜单选择Advance Google Services -- 在弹出的Admin Directory APIs 然后点击Google Developers Console 链接.开发者控制台 -- 单击库 --> 搜索 API 框输入 Admin sdk --> 单击 admin Sdk api 链接 ==> 启用 并关闭开发控制台.
  1. Login your G drive using super admin account.
  2. Create one Google sheet.
  3. Go to sheet Tool menu -- script Editor.. Save Script project project. Enable admin SDK
  4. Apps script editor click on Resources menu select Advance Google Services -- In Pop up on Admin Directory Apis then Click Google Developers Console link. Developer Console -- click on Library --> search APIs box enter Admin sdk --> click on admin Sdk api link ==> ENABLE and close dev console.

=== 在 Apps 脚本编辑器中粘贴以下代码.

=== At Apps script editor paste following code.

var onSheet = SpreadsheetApp.getActiveSpreadsheet();
var groupKey = "googlegroupid@domainName.com"

function MainGetUserList()
{
    var rows = [];
    var pageToken, page;
    do {
        page = AdminDirectory.Members.list(groupKey,
        {
            domainName: 'YOURDOMAINNAME.@com',
            maxResults: 500,
            pageToken: pageToken,
        });
        var members = page.members
        if (members)
        {
            for (var i = 0; i < members.length; i++)
            {
                var member = members[i];
                var row = [groupKey, member.email, member.role, member.status];
                rows.push(row);
            }
        }
        pageToken = page.nextPageToken;
    } while (pageToken);
    if (rows.length > 1)
    {
        var sheetData = onSheet.getSheetByName("Sheet1")
        var header = ['Group Name', 'User Id', 'User role', 'User Status'];
        sheetData.clear()
        sheetData.appendRow(header).setFrozenRows(1);
        sheetData.getRange(2, 1, rows.length, header.length).setValues(rows);
    }
}

==> 运行 MainGetUserList() 函数允许权限,打开你的 Google Sheet 刷新它.

==> Run MainGetUserList() function allow the permission, open you Google Sheet refresh it.

完成.

我已经测试了这 2 万名成员.谢谢

I have tested this 20k members. Thanks

这篇关于如何在 Google 应用脚本 (Admin SDK) 中获取 Google 群组中的成员列表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆