3

Admin SDK を使用して Google グループのメンバーのリストを取得したいと考えています。

しかし、これを行う方法がわかりません。以下のリンクを見つけました - https://developers.google.com/admin-sdk/directory/v1/guides/manage-group-members

しかし、Google アプリ スクリプトで POST メソッドを使用する方法がわかりません。

誰かが例を教えてくれますか?

更新しました

以下のような出力が得られましたが、グループのメンバーごとに各要素 (役割、電子メール) に個別にアクセスしたいと思います。それは可能ですか??

{ "role": "OWNER", "kind": "admin#directory#member", "type": "USER", "etag": "\"fdo0/1gUrEe8bli75zvzmqFHyH3cPzlQ\"", "id": "107108832717913338955", "email": "useremailid@domain.com", "status": "ACTIVE" }

前もって感謝します。

4

2 に答える 2

5

手順に従ってください。

  1. スーパー管理者アカウントを使用して G ドライブにログインします。
  2. 1 つの Google シートを作成します。
  3. シート ツール メニュー -- スクリプト エディタ に移動します。 スクリプト プロジェクト project を保存します。管理者 SDK を有効にする
  4. Apps スクリプト エディタで [ Resources ] メニューをクリックし、[ Advance Google Services ] を選択します-- Admin Directory Api のポップアップで、[ Google Developers Console ]リンクをクリックします。開発者コンソール -- Library をクリック --> API の検索ボックスに Admin sdk と入力 --> admin Sdk api リンクをクリック ==> ENABLEして開発コンソールを閉じます。

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

==> MainGetUserList() 関数を実行して権限を許可し、Google シートを開いて更新します。

終わり。

この2万人のメンバーをテストしました。ありがとう

于 2016-09-19T09:45:45.710 に答える
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
}
于 2016-08-10T09:56:57.430 に答える