Я заметил, что в пользовательском интерфейсе конфигурации "Роли" в группе Google можно добавить пользовательскую роль, нажав кнопку [CREATE]. Затем я могу назначить эту пользовательскую роль членам группы Google.
Однако, когда я использую API для извлечения членов группы, он показывает только одну из трех встроенных ролей (OWNER, MEMBER и MANAGER), а не пользовательские роли. Можно ли выполнить вызов API для получения пользовательских ролей для члена группы Google?
Вот выдержка из кода, который я использую в nodeJs. Обратите внимание, что я использую v1 каталога API:
async function getGroupMembers(auth) {
try {
const admin = await google.admin({ version: 'directory_v1', auth });
admin.members.list({groupKey}, (err, payload) => {
if (err) {
console.log('The list users API returned an error: ', err);
resolve({ groups: [], users: [] });
}
const data = payload.data;
const groups = [];
const users = [];
for (const member of data.members) {
console.log(member);
if (member.type === 'USER') users.push(member.email);
else if (member.type === 'GROUP') groups.push(member.email);
}
resolve({groups, users});
});
} catch(error) {
console.log("Error getting group members: ", error);
resolve({ groups: [], users: [] });
}
}
Вот пример того, что я вижу, когда я console.log
переменная-член:
{ kind: 'admin#directory#member',
etag: '"xxxxxxxxxxxxxxx"',
id: 'xxxxxxxxxxxxxx',
email: 'noreply@somedomain.com',
role: 'OWNER',
type: 'USER',
status: 'ACTIVE' }
Но я надеюсь, что смогу увидеть что-то вроде этого:
{ kind: 'admin#directory#member',
etag: '"xxxxxxxxxxxxxxx"',
id: 'xxxxxxxxxxxxxx',
email: 'noreply@somedomain.com',
role: ['OWNER', 'MYCUSTOMROLE'],
type: 'USER',
status: 'ACTIVE' }