В домене моей компании я могу успешно искать пользователей с помощью этого вызова:
https://developers.google.com/admin-sdk/directory/v1/reference/users/list
(домен: mydomain.com, viewType: domain_public и мой собственный адрес электронной почты как sub = в авторизации учетной записи службы.)
Я подтвердил, что с помощью веб-браузера любой человек в моей компании может просматривать членство в любой группе в компании, перейдя в https://groups.google.com/a/mycompany/forum/#!members/mygroup.
Кажется, следует (тот же API, очевидно, открыт для всей компании), что я должен быть в состоянии получить членов группы с помощью этого вызова:
https://developers.google.com/admin-sdk/directory/v1/reference/members/list
Однако, даже используя API Explorer, я получаю:
403 OK
- SHOW HEADERS -
{
"error": {
"errors": [
{
"domain": "global",
"reason": "forbidden",
"message": "Not Authorized to access this resource/api"}
],
"code": 403,
"message": "Not Authorized to access this resource/api"}
}
Это, кажется, не имеет смысла … Это разрешение, которое нужно / можно изменить на уровне организации? (т.е. мои администраторы разрешили пользователю / списку, но еще не разрешили участников / списка?)
Если это как-то преднамеренное поведение в API … почему? И кто-нибудь нашел способ обойти? (автоматическое извлечение https://groups.google.com/a/mycompany/forum/#!members/mygroup вероятно, сработает, но просто кажется таким безумным, когда теоретически есть API …)
FWIW — я пытаюсь использовать php для этого в сервисе, работающем на машине с linux, но пока я не смогу заставить его работать даже в проводнике API, я не уверен, что это актуально. Моей первой попыткой было взять весь код, который работает для пользователей / списка, и вместо этого сделать вызов членам / списку. Когда это не удалось, я попробовал API Explorer и тоже потерпел неудачу.
Вы можете заставить администраторов разрешить «Чтение» привилегий администратора API для пользователей в вашем домене.
Консоль администратора> Роли администратора> Создать новую роль (например, «Все пользователи GroupsAPIRead»)> Права> Права администратора API (не привилегии API консоли администратора)> Группы> установите флажок «Читать» (не устанавливайте, не обновляйте и не удаляйте).
Параметр domain_public для users.list () был недавно добавлен, чтобы позволить конечным пользователям получать ограниченное представление каталога. В настоящее время нет групповых эквивалентов. Для запуска groups.list () вам необходимо быть делегированным администратором с правами на чтение групп.