На этой странице описано, как управлять группами Google с помощью API каталога:
- Создать группу
- Обновить группу
- Добавить псевдоним группы
- Получить группу
- Получить все группы для домена или учетной записи.
- Получить все группы для данного участника
- Получить все псевдонимы групп
- Удаление псевдонима группы
- Удалить группу
Создать группу
Для создания группы используйте следующий POST запрос и включите авторизацию, описанную в разделе «Авторизация запросов» . Вы можете создать группу для любого домена, связанного с учетной записью. Информацию о параметрах запроса, свойствах запроса и ответа см. в методе groups.insert .
POST https://admin.googleapis.com/admin/directory/v1/groups
Приведенный ниже JSON-запрос демонстрирует пример тела запроса для создания группы. Адрес электронной почты группы — sales_group@example.com:
{ "email": "sales_group@example.com", "name": "Sales Group", "description": "This is the Sales group." }
В случае успешного ответа возвращается код состояния HTTP 201 и свойства новой группы.
Обновить группу
Для обновления настроек группы используйте следующий PUT запрос и включите авторизацию, описанную в разделе «Авторизация запросов» . Параметр groupKey может представлять собой адрес электронной почты группы, любой из адресов электронной почты псевдонима группы или уникальный id группы. Информацию о параметрах запроса, свойствах запроса и ответа см. в методе groups.update .
PUT https://admin.googleapis.com/admin/directory/v1/groups/groupKey
В целом, мы рекомендуем не использовать адрес электронной почты группы в качестве ключа для хранения постоянных данных, поскольку адрес электронной почты может меняться.
В целом, мы рекомендуем не использовать адрес электронной почты группы в качестве ключа для хранения постоянных данных, поскольку адрес электронной почты может меняться.
В следующем примере уникальный groupKey равен nnn , а название группы — APAC Sales Group:
PUT https://admin.googleapis.com/admin/directory/v1/groups/nnn
{ "email": "sales_group@example.com", "name": "APAC Sales Group" }
Для запроса на обновление вам нужно лишь указать обновленную информацию в самом запросе. Нет необходимости вводить все свойства группы в запросе.
В случае успешного ответа возвращается код состояния HTTP 201 и свойства новой группы:
{ "kind": "directory#groups", "id": "group's unique ID", "etag": "group's unique ETag", "email": "sales_group@example.com", "name": "APAC Sales Group", "directMembersCount": "5", "description": "This is the APAC sales group.", "adminCreated": true, "aliases": [ { "alias": "best_sales_group@example.com" } ], "nonEditableAliases": [ { "alias": "liz@test.com" } ] }
Добавить псевдоним группы
Чтобы добавить псевдоним группы, используйте следующий POST запрос и включите авторизацию, описанную в разделе «Авторизация запросов» . Параметр groupKey может представлять собой адрес электронной почты группы, любой из адресов электронной почты псевдонима группы или уникальный id группы. Информацию о параметрах запроса, свойствах запроса и ответа см. в ресурсе groups .
POST https://admin.googleapis.com/admin/directory/v1/groups/groupKey/aliases
В целом, Google рекомендует не использовать адрес электронной почты группы в качестве ключа для хранения постоянных данных, поскольку адрес электронной почты может меняться.
Приведенный ниже JSON-запрос демонстрирует пример запроса на создание псевдонима группы. Параметр groupKey — это уникальный id группы, представленный значением NNNN
POST https://admin.googleapis.com/admin/directory/v1/groups/NNNN/aliases
{ "alias": "best_sales_group@example.com" }
В случае успешного ответа возвращается код состояния HTTP 201 и свойства нового псевдонима группы.
Получить группу
Для получения группы используйте следующий GET запрос и включите авторизацию, описанную в разделе «Авторизация запросов» . Параметр groupKey может представлять собой адрес электронной почты группы, любой из адресов электронной почты псевдонима группы или уникальный id группы. Информацию о параметрах запроса, свойствах запроса и ответа см. в методе groups.get .
GET https://admin.googleapis.com/admin/directory/v1/groups/groupKey
В целом, Google рекомендует не использовать адрес электронной почты группы в качестве ключа для хранения постоянных данных, поскольку адрес электронной почты может меняться.
В следующем примере уникальный идентификатор groupKey — nnnn :
GET https://admin.googleapis.com/admin/directory/v1/groups/nnnn
В случае успешного ответа возвращается код состояния HTTP 200 и настройки группы:
{ "kind": "directory#groups", "id": "group's unique ID", "etag": "group's unique ETag", "email": "sales_group@example.com", "name": "APAC Sales Group", "directMembersCount": "5", "description": "This is the APAC sales group.", "adminCreated": true, "aliases": [ { "alias": "best_sales_group@example.com" } ], "nonEditableAliases": [ { "alias": "liz@test.com" } ] }
Получить все группы для домена или учетной записи.
Чтобы получить все группы для определенного домена или учетной записи, используйте следующий GET запрос и включите авторизацию, описанную в разделе «Авторизация запросов» . Информацию о параметрах запроса, свойствах запроса и ответа см. в методе groups.list . Для удобства чтения в этом примере используются переводы строк:
GET https://admin.googleapis.com/admin/directory/v1/groups?domain=domain name &customer=my_customer or customerId&pageToken=pagination token &maxResults=max results
При получении всех групп для домена или учетной записи следует учитывать следующее:
- Для всех групп поддомена: используйте аргумент
domainс именем домена. - Для всех групп учетной записи: используйте аргумент
customerлибо со значениемmy_customer, либо со значениемcustomerIdучетной записи. В качестве администратора учетной записи используйте строкуmy_customerдля представленияcustomerIdвашей учетной записи. Если вы являетесь реселлером и обращаетесь к учетной записи клиента, которому перепродали товар, используйтеcustomerIdэтой учетной записи. В качестве значенияcustomerIdиспользуйте основное доменное имя учетной записи в запросе на получение всех пользователей в рамках операции с доменом . В полученном ответе будет значениеcustomerId. - Используя аргументы
domainиcustomer: API каталога возвращает все группы дляdomain. - Без использования аргументов
domainиcustomer: API каталога возвращает все группы для учетной записи, связанной сmy_customer. ЭтоcustomerIdучетной записи администратора, выполняющего запрос. - Использование аргументов
customerиuserKeyодновременно: API каталога возвращает ошибку. Необходимо выполнить два отдельных запроса с этими аргументами.
В следующем примере администратор учетной записи использует my_customer для запроса списка всех групп учетной записи:
GET https://admin.googleapis.com/admin/directory/v1/groups?domain=sales.com&customer=my_customer&maxResults=2
В следующем примере запрос администратора реселлера возвращает все группы для перепроданной учетной записи с идентификатором customerId C03az79cb . Максимальное количество результатов на одной странице ответа — 2. Для последующего списка пользователей в этом ответе имеется nextPageToken :
GET https://admin.googleapis.com/admin/directory/v1/groups?domain=sales.com&customer=C03az79cb&maxResults=2
В случае успешного ответа возвращается код состояния HTTP 200 и группы в алфавитном порядке по адресам электронной почты групп:
{ "kind": "directory#groups", "groups": [ { "kind": "directory#groups", "id": "group's unique ID", "etag": "group's unique ETag", "email": "support@sales.com", "name": "Sales support", "directMembersCount": "6", "description": "The sales support group", "adminCreated": true }, { "kind": "directory#groups", "id": "group's unique ID", "etag": "group's unique ETag", "email": "travel@sales.com", "name": "Sales travel", "directMembersCount": "2", "description": "The travel group supporting sales", "adminCreated": false, "aliases": [ { "alias": "best_sales_group@example.com" } ], "nonEditableAliases": [ { "alias": "liz@test.com" } ] }, "nextPageToken": "NNNN" }
Получить все группы для данного участника
Чтобы получить список всех групп, на которые у участника есть подписка, используйте следующий GET запрос и включите авторизацию, описанную в разделе «Авторизованные запросы» . Для удобства чтения в этом примере используются переводы строк:
GET https://admin.googleapis.com/admin/directory/v1/groups?userKey=user key &pageToken=pagination token &maxResults=maximum results per response page
- Участником может быть либо пользователь, либо группа.
- В
userKeyможет выступать основной адрес электронной почты пользователя, адрес электронной почты-псевдоним пользователя, основной адрес электронной почты группы, псевдоним электронной почты группы или уникальныйidпользователя, который можно получить с помощью операции «Получить пользователя» . - Пользователь или группа, указанные в
userKeyдолжны принадлежать к вашему домену. - Для ответов с большим количеством групп используйте строку запроса
pageToken. В случае пагинации ответ возвращает свойствоnextPageToken, которое предоставляет токен для следующей страницы результатов ответа. Ваш следующий запрос будет использовать этот токен в качестве значения строки запросаpageToken. - Использование аргументов
customerиuserKeyодновременно: API каталога возвращает ошибку. Необходимо выполнить два отдельных запроса с этими аргументами.
Свойства запроса и ответа описаны в методе groups.list .
В случае успешного ответа возвращается код состояния HTTP 200 и список информации об участниках:
- Возвращаются все группы, на которые у участника есть подписка, включая группы, находящиеся за пределами домена пользователя.
- Результаты поиска групп отображаются в алфавитном порядке по адресу электронной почты каждой группы.
- В теле ответа
id— это уникальный идентификатор группы. - В ответе список групп, находящихся за пределами домена пользователя, не включает псевдонимы этих внешних групп.
{ "kind": "directory#groups", "groups": [ { "kind": "directory#group", "id": "group's unique ID", "etag": "group's unique ETag", "email": "sales_group@example.com", "name": "sale group", "directMembersCount": "5", "description": "Sales group" }, { "kind": "directory#group", "id": "group's unique ID", "etag": "group's unique ETag", "email": "support_group.com", "name": "support group", "directMembersCount": "5", "description": "Support group" } ], "nextPageToken": "NNNNN" }
Получить все псевдонимы групп
Чтобы получить все псевдонимы группы, используйте следующий GET запрос и включите авторизацию, описанную в разделе «Авторизация запросов» . В groupKey может выступать основной адрес электронной почты группы, уникальный id группы или любой из адресов электронной почты псевдонимов группы. Свойства запроса и ответа см. в ресурсе groups .
GET https://admin.googleapis.com/admin/directory/v1/groups/groupKey/aliases В случае успешного ответа возвращается код состояния HTTP 201 и список псевдонимов группы.
Удаление псевдонима группы
Для удаления псевдонима группы используйте следующий запрос DELETE , включив в него авторизацию, описанную в разделе «Авторизованные запросы» . groupKey может быть основным адресом электронной почты группы, уникальным id группы или адресом электронной почты любого из псевдонимов группы. aliasId — это удаляемый псевдоним. Свойства запроса и ответа см. в ресурсе groups :
DELETE https://admin.googleapis.com/admin/directory/v1/groups/groupKey/aliases/aliasId
В случае успешного ответа возвращается код состояния HTTP 201 .
Удалить группу
Для удаления группы используйте следующий запрос DELETE , включив в него авторизацию, описанную в разделе «Авторизованные запросы» . Параметр groupKey — это уникальный id группы:
DELETE https://admin.googleapis.com/admin/directory/v1/groups/groupKeyНапример, этот DELETE запрос удаляет группу, имеющую id группы nnnn :
DELETE https://admin.googleapis.com/admin/directory/v1/group/nnnn
В случае успешного ответа возвращается код состояния HTTP 200 .
При удалении группы происходит следующее:
- Все участники группы удаляются. Учетные записи пользователей, созданные участниками, не удаляются.
- Архив группы удален.
- Сообщения, отправленные на адрес удаленной группы, не доставляются. Вместо этого отправитель получает сообщение о недоставке.