Управление группами

На этой странице описано, как управлять группами 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 рекомендует не использовать адрес электронной почты группы в качестве ключа для хранения постоянных данных, поскольку адрес электронной почты может меняться.

В следующем примере уникальный идентификатор groupKeynnnn :

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 .

При удалении группы происходит следующее:

  • Все участники группы удаляются. Учетные записи пользователей, созданные участниками, не удаляются.
  • Архив группы удален.
  • Сообщения, отправленные на адрес удаленной группы, не доставляются. Вместо этого отправитель получает сообщение о недоставке.