Как мне программно найти участников группы Google?
-
21-12-2019 - |
Вопрос
У меня есть веб-приложение, и я хочу сообщить, является ли вошедший в данный момент пользователь участником, менеджером или владельцем определенной группы Google (ту же информацию вы могли бы найти, нажав на "участники" на странице группы).В идеале, было бы также неплохо перечислить всех участников, менеджеров и владельцев группы.
API Участников (https://developers.google.com/admin-sdk/directory/v1/reference/members/list) кажется многообещающим, но когда я пробую это в API Explorer, я получаю Not Authorized to access this resource/api
ошибки, даже если я предоставил разрешение OAuth.Я могу видеть список участников, использующих веб-сайт Google Groups, поэтому может показаться, что у меня есть разрешение, но я не являюсь администратором домена Google Apps.
Есть какие-нибудь идеи, что я, возможно, делаю не так?Спасибо!
Решение
Любой из вызовов API в Admin SDK требует, чтобы авторизующий пользователь был администратором домена, от которого он вызывается.Вам нужно будет использовать учетную запись администратора, чтобы получить успешный ответ.
Другие советы
Существует метод API для получения участников, принадлежащих к определенной группе.Смотрите документацию здесь:
https://developers.google.com/admin-sdk/directory/v1/guides/manage-group-members#get_all_members
Вы могли бы использовать GroupsApp для получения списка участников группы, предоставив вам доступ к просмотру участников группы.Лучше всего было бы настроить параметры группы таким образом, чтобы любой желающий мог просматривать участников.
Тогда вы могли бы использовать Session.getActiveUser()
и проверьте, есть ли это имя в списке.Все это может быть сделано с помощью в GAS вашего веб-приложения без необходимости в API.