How to use google-api-nodejs-client to get a list of group members
Goal
Use googleapis
to get a list of group members. Google's documentation show this:
GET https://www.googleapis.com/admin/directory/v1/groups/groupKey/members
Question
How is this done with directory.groups.get
, .hasMembers
, or other? I'm not sure how or where to add members to the request.
directory.groups.get({
auth: jwtClient,
domain: "mydomain.com",
groupKey: "mygroup@mydomain.com",
},
What Works
Here I get information about membership, but not the list of members
exports.getGroupsMemberships = function (jwtClient) {
return new Promise((resolve, reject) => {
jwtClient.authorize(err => {
if (err) reject(err);
else resolve();
});
}).then(() => {
return new Promise((resolve, reject) => {
directory.groups.get({
auth: jwtClient,
domain: "mydomain.com",
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else resolve(resp);
});
});
});
};
which returns
"gsuiteGroupsMemberships : { kind: 'admin#directory#group',
id: 'xxx...222',
etag: '"TN3...Dw"',
email: 'mygroup@mydomain.com',
name: 'My Group',
directMembersCount: '3',
description: 'Use this email group to contact My Group.',
adminCreated: false,
nonEditableAliases: [ 'mygroup@mydomain.com.test-google-a.com' ] }"
When I use Try This API in the browswer, I do get the list of members, i.e. emails, role, etc.
node.js google-api google-cloud-functions google-api-nodejs-client
add a comment |
Goal
Use googleapis
to get a list of group members. Google's documentation show this:
GET https://www.googleapis.com/admin/directory/v1/groups/groupKey/members
Question
How is this done with directory.groups.get
, .hasMembers
, or other? I'm not sure how or where to add members to the request.
directory.groups.get({
auth: jwtClient,
domain: "mydomain.com",
groupKey: "mygroup@mydomain.com",
},
What Works
Here I get information about membership, but not the list of members
exports.getGroupsMemberships = function (jwtClient) {
return new Promise((resolve, reject) => {
jwtClient.authorize(err => {
if (err) reject(err);
else resolve();
});
}).then(() => {
return new Promise((resolve, reject) => {
directory.groups.get({
auth: jwtClient,
domain: "mydomain.com",
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else resolve(resp);
});
});
});
};
which returns
"gsuiteGroupsMemberships : { kind: 'admin#directory#group',
id: 'xxx...222',
etag: '"TN3...Dw"',
email: 'mygroup@mydomain.com',
name: 'My Group',
directMembersCount: '3',
description: 'Use this email group to contact My Group.',
adminCreated: false,
nonEditableAliases: [ 'mygroup@mydomain.com.test-google-a.com' ] }"
When I use Try This API in the browswer, I do get the list of members, i.e. emails, role, etc.
node.js google-api google-cloud-functions google-api-nodejs-client
add a comment |
Goal
Use googleapis
to get a list of group members. Google's documentation show this:
GET https://www.googleapis.com/admin/directory/v1/groups/groupKey/members
Question
How is this done with directory.groups.get
, .hasMembers
, or other? I'm not sure how or where to add members to the request.
directory.groups.get({
auth: jwtClient,
domain: "mydomain.com",
groupKey: "mygroup@mydomain.com",
},
What Works
Here I get information about membership, but not the list of members
exports.getGroupsMemberships = function (jwtClient) {
return new Promise((resolve, reject) => {
jwtClient.authorize(err => {
if (err) reject(err);
else resolve();
});
}).then(() => {
return new Promise((resolve, reject) => {
directory.groups.get({
auth: jwtClient,
domain: "mydomain.com",
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else resolve(resp);
});
});
});
};
which returns
"gsuiteGroupsMemberships : { kind: 'admin#directory#group',
id: 'xxx...222',
etag: '"TN3...Dw"',
email: 'mygroup@mydomain.com',
name: 'My Group',
directMembersCount: '3',
description: 'Use this email group to contact My Group.',
adminCreated: false,
nonEditableAliases: [ 'mygroup@mydomain.com.test-google-a.com' ] }"
When I use Try This API in the browswer, I do get the list of members, i.e. emails, role, etc.
node.js google-api google-cloud-functions google-api-nodejs-client
Goal
Use googleapis
to get a list of group members. Google's documentation show this:
GET https://www.googleapis.com/admin/directory/v1/groups/groupKey/members
Question
How is this done with directory.groups.get
, .hasMembers
, or other? I'm not sure how or where to add members to the request.
directory.groups.get({
auth: jwtClient,
domain: "mydomain.com",
groupKey: "mygroup@mydomain.com",
},
What Works
Here I get information about membership, but not the list of members
exports.getGroupsMemberships = function (jwtClient) {
return new Promise((resolve, reject) => {
jwtClient.authorize(err => {
if (err) reject(err);
else resolve();
});
}).then(() => {
return new Promise((resolve, reject) => {
directory.groups.get({
auth: jwtClient,
domain: "mydomain.com",
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else resolve(resp);
});
});
});
};
which returns
"gsuiteGroupsMemberships : { kind: 'admin#directory#group',
id: 'xxx...222',
etag: '"TN3...Dw"',
email: 'mygroup@mydomain.com',
name: 'My Group',
directMembersCount: '3',
description: 'Use this email group to contact My Group.',
adminCreated: false,
nonEditableAliases: [ 'mygroup@mydomain.com.test-google-a.com' ] }"
When I use Try This API in the browswer, I do get the list of members, i.e. emails, role, etc.
node.js google-api google-cloud-functions google-api-nodejs-client
node.js google-api google-cloud-functions google-api-nodejs-client
edited Jan 1 at 17:16
Chadd
asked Jan 1 at 17:05


ChaddChadd
219115
219115
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
For that you use the list from the members
resource, not the groups
.
exports.getGroupsMemberships = function (jwtClient) {
return new Promise((resolve, reject) => {
jwtClient.authorize(err => {
if (err) reject(err);
else resolve();
});
}).then(() => {
return new Promise((resolve, reject) => {
directory.members.list({
auth: jwtClient,
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else resolve(resp);
});
});
});
};
If you want both the group metadata and the member list you'll need to make two calls:
exports.getGroupDataAndMembers = function (jwtClient) {
return new Promise((resolve, reject) => {
jwtClient.authorize(err => {
if (err) reject(err);
else resolve();
});
}).then(() => {
return new Promise((resolve, reject) => {
directory.groups.get({
auth: jwtClient,
domain: "mydomain.com",
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else resolve(resp);
});
});
}).then((groupMetaCall) => {
return new Promise((resolve, reject) => {
directory.members.list({
auth: jwtClient,
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else {
groupMetaCall.data.members = resp.data.members;
resolve(groupMetaCall);
}
});
});
});
};
The Try this API that you provided is for the get endpoint of the members resource. It returns the information about a member of a group.
Here is the documentation for the members.list:
https://developers.google.com/admin-sdk/directory/v1/reference/members/list
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53997342%2fhow-to-use-google-api-nodejs-client-to-get-a-list-of-group-members%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
For that you use the list from the members
resource, not the groups
.
exports.getGroupsMemberships = function (jwtClient) {
return new Promise((resolve, reject) => {
jwtClient.authorize(err => {
if (err) reject(err);
else resolve();
});
}).then(() => {
return new Promise((resolve, reject) => {
directory.members.list({
auth: jwtClient,
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else resolve(resp);
});
});
});
};
If you want both the group metadata and the member list you'll need to make two calls:
exports.getGroupDataAndMembers = function (jwtClient) {
return new Promise((resolve, reject) => {
jwtClient.authorize(err => {
if (err) reject(err);
else resolve();
});
}).then(() => {
return new Promise((resolve, reject) => {
directory.groups.get({
auth: jwtClient,
domain: "mydomain.com",
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else resolve(resp);
});
});
}).then((groupMetaCall) => {
return new Promise((resolve, reject) => {
directory.members.list({
auth: jwtClient,
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else {
groupMetaCall.data.members = resp.data.members;
resolve(groupMetaCall);
}
});
});
});
};
The Try this API that you provided is for the get endpoint of the members resource. It returns the information about a member of a group.
Here is the documentation for the members.list:
https://developers.google.com/admin-sdk/directory/v1/reference/members/list
add a comment |
For that you use the list from the members
resource, not the groups
.
exports.getGroupsMemberships = function (jwtClient) {
return new Promise((resolve, reject) => {
jwtClient.authorize(err => {
if (err) reject(err);
else resolve();
});
}).then(() => {
return new Promise((resolve, reject) => {
directory.members.list({
auth: jwtClient,
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else resolve(resp);
});
});
});
};
If you want both the group metadata and the member list you'll need to make two calls:
exports.getGroupDataAndMembers = function (jwtClient) {
return new Promise((resolve, reject) => {
jwtClient.authorize(err => {
if (err) reject(err);
else resolve();
});
}).then(() => {
return new Promise((resolve, reject) => {
directory.groups.get({
auth: jwtClient,
domain: "mydomain.com",
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else resolve(resp);
});
});
}).then((groupMetaCall) => {
return new Promise((resolve, reject) => {
directory.members.list({
auth: jwtClient,
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else {
groupMetaCall.data.members = resp.data.members;
resolve(groupMetaCall);
}
});
});
});
};
The Try this API that you provided is for the get endpoint of the members resource. It returns the information about a member of a group.
Here is the documentation for the members.list:
https://developers.google.com/admin-sdk/directory/v1/reference/members/list
add a comment |
For that you use the list from the members
resource, not the groups
.
exports.getGroupsMemberships = function (jwtClient) {
return new Promise((resolve, reject) => {
jwtClient.authorize(err => {
if (err) reject(err);
else resolve();
});
}).then(() => {
return new Promise((resolve, reject) => {
directory.members.list({
auth: jwtClient,
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else resolve(resp);
});
});
});
};
If you want both the group metadata and the member list you'll need to make two calls:
exports.getGroupDataAndMembers = function (jwtClient) {
return new Promise((resolve, reject) => {
jwtClient.authorize(err => {
if (err) reject(err);
else resolve();
});
}).then(() => {
return new Promise((resolve, reject) => {
directory.groups.get({
auth: jwtClient,
domain: "mydomain.com",
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else resolve(resp);
});
});
}).then((groupMetaCall) => {
return new Promise((resolve, reject) => {
directory.members.list({
auth: jwtClient,
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else {
groupMetaCall.data.members = resp.data.members;
resolve(groupMetaCall);
}
});
});
});
};
The Try this API that you provided is for the get endpoint of the members resource. It returns the information about a member of a group.
Here is the documentation for the members.list:
https://developers.google.com/admin-sdk/directory/v1/reference/members/list
For that you use the list from the members
resource, not the groups
.
exports.getGroupsMemberships = function (jwtClient) {
return new Promise((resolve, reject) => {
jwtClient.authorize(err => {
if (err) reject(err);
else resolve();
});
}).then(() => {
return new Promise((resolve, reject) => {
directory.members.list({
auth: jwtClient,
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else resolve(resp);
});
});
});
};
If you want both the group metadata and the member list you'll need to make two calls:
exports.getGroupDataAndMembers = function (jwtClient) {
return new Promise((resolve, reject) => {
jwtClient.authorize(err => {
if (err) reject(err);
else resolve();
});
}).then(() => {
return new Promise((resolve, reject) => {
directory.groups.get({
auth: jwtClient,
domain: "mydomain.com",
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else resolve(resp);
});
});
}).then((groupMetaCall) => {
return new Promise((resolve, reject) => {
directory.members.list({
auth: jwtClient,
groupKey: "mygroup@mydomain.com",
},
function (err, resp) {
if (err) reject(err);
else {
groupMetaCall.data.members = resp.data.members;
resolve(groupMetaCall);
}
});
});
});
};
The Try this API that you provided is for the get endpoint of the members resource. It returns the information about a member of a group.
Here is the documentation for the members.list:
https://developers.google.com/admin-sdk/directory/v1/reference/members/list
answered Jan 1 at 17:53
Luiz FerrazLuiz Ferraz
714
714
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53997342%2fhow-to-use-google-api-nodejs-client-to-get-a-list-of-group-members%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown