그룹 관리

이 페이지에서는 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 요청은 그룹의 별칭을 만드는 샘플 요청을 보여줍니다. 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

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

다음 예시에서 고유한 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 인수를 사용합니다.
  • 계정의 모든 그룹: my_customer 또는 계정의 customerId 값과 함께 customer 인수를 사용합니다. 계정 관리자는 문자열 my_customer를 사용하여 계정의 customerId를 나타냅니다. 재판매된 고객의 계정에 액세스하는 리셀러인 경우 재판매된 계정의 customerId를 사용하세요. customerId 값의 경우 도메인의 모든 사용자 목록 가져오기 작업 요청에서 계정의 기본 도메인 이름을 사용합니다. 결과 응답에는 customerId 값이 있습니다.
  • domaincustomer 인수를 모두 사용하는 경우: 디렉터리 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"
     }
  ],
   "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 요청은 nnnn 그룹 id가 있는 그룹을 삭제합니다.

DELETE https://admin.googleapis.com/admin/directory/v1/group/nnnn

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

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

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