그룹 관리

이 페이지에서는 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 값이 있습니다.
  • domaincustomer 인수를 모두 사용합니다. Directory API는 domain의 모든 그룹을 반환합니다.
  • domaincustomer 인수를 사용하지 않음: Directory API는 my_customer와 연결된 계정의 모든 그룹을 반환합니다. 요청하는 관리자의 계정 customerId입니다.
  • customeruserKey 인수를 모두 사용: 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 쿼리 문자열 값으로 사용합니다.
  • customeruserKey 인수를 모두 사용: 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 상태 코드가 반환됩니다.

그룹을 삭제하면 다음과 같은 일이 발생합니다.

  • 그룹의 모든 구성원이 삭제됩니다. 회원의 사용자 계정은 삭제되지 않습니다.
  • 그룹 보관 파일이 삭제됩니다.
  • 삭제된 그룹 주소로 보낸 메일은 전송되지 않습니다. 대신 발신자에게 반송 메일이 전송됩니다.