그룹 관리

이 페이지에서는 Directory API를 사용하여 Google 그룹스를 관리하는 방법에 대해 설명합니다.

  • 그룹 만들기
  • 그룹 업데이트
  • 그룹 별칭 추가하기
  • 그룹 검색
  • 도메인 또는 계정의 모든 그룹 검색
  • 구성원의 모든 그룹 검색
  • 모든 그룹 별칭 검색
  • 그룹 별칭 삭제하기
  • 그룹 삭제

그룹 만들기

그룹을 만들려면 다음 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 

이메일 주소는 변경될 수 있으므로 일반적으로 그룹의 이메일 주소를 영구 데이터의 키로 사용하지 않는 것이 좋습니다.

다음 예에서 고유한 groupKeynnn이고 그룹의 이름은 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

이메일 주소는 변경될 수 있으므로 일반적으로 그룹의 이메일 주소를 영구 데이터의 키로 사용하지 않는 것이 좋습니다.

다음 JSON 요청은 그룹 별칭을 만들기 위한 샘플 요청을 보여줍니다. groupKeyNNNN로 표시되는 그룹의 고유한 id입니다.

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

이메일 주소는 변경될 수 있으므로 일반적으로 그룹의 이메일 주소를 영구 데이터의 키로 사용하지 않는 것이 좋습니다.

다음 예에서 고유한 groupKey ID는 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 인수 모두 사용: Directory API가 domain의 모든 그룹을 반환합니다.
  • domaincustomer 인수를 사용하지 않음: Directory API가 my_customer와 연결된 계정의 모든 그룹을 반환합니다. 요청을 보내는 관리자의 계정 customerId입니다.
  • customer 인수와 userKey 인수 모두 사용: Directory 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 인수 모두 사용: Directory API가 오류를 반환합니다. 이러한 인수를 사용하여 개별 요청을 두 번 수행해야 합니다.

요청 및 응답 속성은 groups.list 메서드를 참조하세요.

성공적인 응답은 HTTP 200 상태 코드와 구성원 정보 목록을 반환합니다.

  • 사용자의 도메인 외부의 그룹을 포함하여 구성원이 구독 중인 모든 그룹이 반환됩니다.
  • 그룹은 각 그룹 이메일 주소의 알파벳순으로 반환됩니다.
  • 응답 본문에서 id는 그룹의 고유 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"
     }
  ],
   "nextPakeToken": "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 요청은 nnnn 그룹이 id인 그룹을 삭제합니다.
DELETE https://admin.googleapis.com/admin/directory/v1/group/nnnn

성공적인 응답은 HTTP 200 상태 코드를 반환합니다.

그룹이 삭제되면 다음과 같은 결과가 발생합니다.

  • 그룹의 모든 회원이 삭제됩니다. 회원의 사용자 계정은 삭제되지 않습니다.
  • 그룹 보관함이 삭제되었습니다.
  • 삭제된 그룹의 주소로 전송된 메일은 전송되지 않습니다. 대신 발신자는 반송 메일을 받습니다.