如何在Google应用脚本(Admin SDK)中获取Google网上论坛的成员列表?

时间:2016-08-05 08:40:21

标签: google-apps-script google-admin-sdk google-groups-api admin-sdk

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

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

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

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

已更新

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

mongo --eval "db.fsyncUnlock();"

提前致谢。

2 个答案:

答案 0 :(得分:3)

请按照以下步骤进行操作

  1. 使用超级管理员帐户登录您的G盘。
  2. 创建一个Google表格。
  3. 转到工作表菜单 - 脚本编辑器..保存脚本项目项目。 启用管理员SDK
  4. 应用脚本编辑器点击资源菜单选择推进Google服务 - 在管理员目录Apis中弹出,然后点击 Google Developers Console 链接。 开发者控制台 - 点击图书馆 - >搜索API框输入Admin sdk - >点击admin Sdk api link ==> 启用并关闭开发控制台。
  5. ===在Apps脚本编辑器中粘贴以下代码。

    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);
        }
    }
    

    ==&GT;运行MainGetUserList()函数允许权限,打开你的Google Sheet刷新它。

    完成。

    我测试了这个20k会员。 谢谢

答案 1 :(得分:0)

尝试使用Members:list来检索组中所有成员的列表。

HTTP请求

GET https://www.googleapis.com/admin/directory/v1/groups/groupKey/members

您的应用程序发送到Directory API的每个请求都必须包含授权令牌。该令牌还可识别您的Google应用程序。您的申请必须使用OAuth 2.0来授权请求​​。

HTTP响应:

{
  "kind": "admin#directory#members",
  "etag": etag,
  "members": [
    members Resource
  ],
  "nextPageToken": string
}