Quản lý nhóm

Trang này trình bày cách quản lý Google Groups bằng Directory API:

  • Tạo nhóm
  • Cập nhật nhóm
  • Thêm email đại diện của nhóm
  • Truy xuất nhóm
  • Truy xuất tất cả các nhóm cho một miền hoặc tài khoản
  • Truy xuất tất cả các nhóm cho một thành viên
  • Truy xuất tất cả bí danh nhóm
  • Xoá email đại diện của nhóm
  • Xoá nhóm

Tạo nhóm

Để tạo một nhóm, hãy sử dụng yêu cầu POST sau đây và bao gồm yêu cầu uỷ quyền được mô tả trong Uỷ quyền cho các yêu cầu. Bạn có thể tạo một nhóm cho bất kỳ miền nào liên kết với tài khoản. Đối với các chuỗi truy vấn, hãy yêu cầu và thuộc tính phản hồi, hãy xem Phương thức groups.insert.

POST https://admin.googleapis.com/admin/directory/v1/groups

Yêu cầu JSON sau đây cho thấy một nội dung yêu cầu mẫu giúp tạo một nhóm. Email của nhóm địa chỉ là [email protected]:

{
   "email": "[email protected]",
   "name": "Sales Group",
   "description": "This is the Sales group."
}

Một phản hồi thành công sẽ trả về một Mã trạng thái HTTP 201 và các thuộc tính cho nhóm mới.

Cập nhật nhóm

Để cập nhật các chế độ cài đặt của một nhóm, hãy sử dụng yêu cầu PUT sau đây và thêm uỷ quyền được mô tả trong Uỷ quyền cho các yêu cầu. groupKey là địa chỉ email của nhóm, bất kỳ địa chỉ email nào của bí danh nhóm, hoặc id của riêng nhóm. Đối với chuỗi truy vấn, thuộc tính yêu cầu và phản hồi, xem Phương thức groups.update.

PUT https://admin.googleapis.com/admin/directory/v1/groups/groupKey 

Nhìn chung, bạn không nên dùng địa chỉ email của nhóm làm khoá cho dữ liệu cố định vì địa chỉ email có thể thay đổi.

Trong ví dụ sau, groupKey duy nhất là nnn và giá trị của nhóm tên là APAC Sales Group:

PUT https://admin.googleapis.com/admin/directory/v1/groups/nnn
{
    "email": "[email protected]",
    "name": "APAC Sales Group"
}

Đối với yêu cầu cập nhật, bạn chỉ cần gửi thông tin mới nhất trong yêu cầu của mình. Không cần nhập tất cả các thuộc tính của nhóm đó vào yêu cầu.

Một phản hồi thành công sẽ trả về một Mã trạng thái HTTP 201 và các thuộc tính cho nhóm mới:

{
    "kind": "directory#groups",
    "id": "group's unique ID",
    "etag": "group's unique ETag",
    "email": "[email protected]",
    "name": "APAC Sales Group",
    "directMembersCount": "5",
    "description": "This is the APAC sales group.",
    "adminCreated": true,
    "aliases": [
     {
        "alias": "[email protected]"
     }
    ],
    "nonEditableAliases: [
     {
        "alias": "liz@test.com"
     }
    ]
}

Thêm email đại diện của nhóm

Để thêm bí danh nhóm, hãy sử dụng yêu cầu POST sau đây và bao gồm yêu cầu uỷ quyền được mô tả trong phần Uỷ quyền yêu cầu. groupKey là địa chỉ email của nhóm, bất kỳ bí danh nào của nhóm đều địa chỉ email, hoặc id của riêng nhóm. Đối với các chuỗi truy vấn, thuộc tính yêu cầu và phản hồi, hãy xem tài nguyên groups.

POST https://admin.googleapis.com/admin/directory/v1/groups/groupKey/aliases

Nhìn chung, bạn không nên dùng địa chỉ email của nhóm làm khoá cho dữ liệu cố định vì địa chỉ email có thể thay đổi.

Yêu cầu JSON sau đây cho thấy một yêu cầu mẫu để tạo bí danh của một nhóm. Chiến lược phát hành đĩa đơn groupKeyid duy nhất của nhóm do NNNN biểu thị

POST https://admin.googleapis.com/admin/directory/v1/groups/NNNN/aliases
{
    "alias": "[email protected]"
}

Một phản hồi thành công sẽ trả về một Mã trạng thái HTTP 201 và các thuộc tính cho bí danh nhóm mới.

Truy xuất nhóm

Để truy xuất một nhóm, hãy sử dụng yêu cầu GET sau đây và bao gồm yêu cầu uỷ quyền được mô tả trong Uỷ quyền cho các yêu cầu. groupKey là địa chỉ email của nhóm, bất kỳ bí danh nào của nhóm đều địa chỉ email, hoặc id của riêng nhóm. Đối với các chuỗi truy vấn, thuộc tính yêu cầu và phản hồi, hãy xem phương thức groups.get.
GET https://admin.googleapis.com/admin/directory/v1/groups/groupKey

Nhìn chung, bạn không nên dùng địa chỉ email của nhóm làm khoá cho dữ liệu cố định vì địa chỉ email có thể thay đổi.

Trong ví dụ sau, mã nhận dạng groupKey duy nhất là nnnn:

GET https://admin.googleapis.com/admin/directory/v1/groups/nnnn

Một phản hồi thành công sẽ trả về một Mã trạng thái HTTP 200 và chế độ cài đặt của nhóm:

{
    "kind": "directory#groups",
    "id": "group's unique ID",
    "etag": "group's unique ETag",
    "email": "[email protected]",
    "name": "APAC Sales Group",
    "directMembersCount": "5",
    "description": "This is the APAC sales group.",
    "adminCreated": true,
    "aliases": [
     {
        "alias": "[email protected]"
     }
    ],
    "nonEditableAliases: [
     {
        "alias": "liz@test.com"
     }
    ]
}

Truy xuất tất cả các nhóm cho một miền hoặc tài khoản

Để truy xuất tất cả các nhóm cho một miền hoặc tài khoản cụ thể, hãy sử dụng GET sau yêu cầu và bao gồm thông tin uỷ quyền được mô tả trong Uỷ quyền cho các yêu cầu. Đối với truy vấn chuỗi, yêu cầu và thuộc tính phản hồi, hãy xem Phương thức groups.list. Để dễ đọc, ví dụ này sử dụng giá trị trả về dòng:

GET https://admin.googleapis.com/admin/directory/v1/groups?domain=domain name
&customer=my_customer or customerId&pageToken=pagination token
&maxResults=max results

Khi truy xuất tất cả các nhóm cho một miền hoặc tài khoản, hãy xem xét những điều sau:

  • Tất cả các nhóm cho một miền phụ: Sử dụng đối số domain có tên miền.
  • Tất cả các nhóm cho tài khoản: Sử dụng đối số customer với một trong hai my_customer hoặc giá trị customerId của tài khoản. Dưới dạng tài khoản quản trị viên, hãy sử dụng chuỗi my_customer để đại diện cho customerId Nếu bạn là người bán lại có quyền truy cập vào tài khoản của khách hàng được bán lại, hãy sử dụng customerId của tài khoản đại lý. Đối với giá trị customerId, hãy sử dụng phương thức tên miền chính của tài khoản trong Truy xuất tất cả người dùng trong một miền yêu cầu của tác vụ. Phản hồi thu được có giá trị customerId.
  • Sử dụng cả đối số domaincustomer: Directory API trả về tất cả các nhóm cho domain.
  • Không sử dụng các đối số domaincustomer: Directory API trả về tất cả các nhóm cho tài khoản được liên kết với my_customer. Đây là tài khoản customerId của quản trị viên tạo yêu cầu.
  • Sử dụng cả đối số customeruserKey: Directory API trả về lỗi. Bạn phải thực hiện hai yêu cầu riêng biệt với đối số.

Trong ví dụ sau, quản trị viên tài khoản sử dụng my_customer để yêu cầu danh sách tất cả nhóm của một tài khoản:

GET https://admin.googleapis.com/admin/directory/v1/groups?domain=sales.com&customer=my_customer&maxResults=2

Trong ví dụ sau, yêu cầu của quản trị viên đại lý trả về tất cả các nhóm của tài khoản được bán lại với customerId C03az79cb. Số kết quả tối đa được trả về cho mỗi trang phản hồi là 2. Có một nextPageToken cho danh sách người dùng theo dõi trong câu trả lời này:

GET https://admin.googleapis.com/admin/directory/v1/groups?domain=sales.com&customer=C03az79cb&maxResults=2

Một phản hồi thành công sẽ trả về một Mã trạng thái HTTP 200 và các nhóm theo thứ tự bảng chữ cái của email nhóm:

{
"kind": "directory#groups",
    "groups": [
     {
      "kind": "directory#groups",
      "id": "group's unique ID",
      "etag": "group's unique ETag",
      "email": "[email protected]",
      "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": "[email protected]",
      "name": "Sales travel",
      "directMembersCount": "2",
      "description": "The travel group supporting sales",
      "adminCreated": false,
      "aliases": [
       {
         "alias": "[email protected]"
       }
      ],
      "nonEditableAliases: [
       {
         "alias": "liz@test.com"
       }
      ]
     },
  "nextPageToken": "NNNN"
  }

Truy xuất tất cả các nhóm cho một thành viên

Để truy xuất tất cả các nhóm có thành viên có gói thuê bao, hãy sử dụng GET sau yêu cầu và bao gồm thông tin uỷ quyền được mô tả trong Uỷ quyền cho các yêu cầu. Để dễ đọc, ví dụ này sử dụng phương thức trả về dòng:

GET https://admin.googleapis.com/admin/directory/v1/groups?userKey=user key
?pageToken=pagination token
&maxResults=maximum results per response page
  • Thành viên có thể là người dùng hoặc nhóm.
  • userKey có thể là địa chỉ email chính của người dùng, địa chỉ email đại diện của người dùng, địa chỉ email chính của nhóm, email đại diện của nhóm hoặc id duy nhất của người dùng Bạn có thể tìm thấy quy tắc này bằng cách sử dụng Truy xuất hoạt động của người dùng.
  • Người dùng hoặc nhóm được chỉ định trong userKey phải thuộc miền của bạn.
  • Sử dụng chuỗi truy vấn pageToken cho các phản hồi có số lượng nhóm lớn. Trong trong trường hợp phân trang, phản hồi sẽ trả về thuộc tính nextPageToken, cho phép cho trang tiếp theo của kết quả phản hồi. Yêu cầu tiếp theo của bạn sử dụng mã thông báo này làm Giá trị chuỗi truy vấn pageToken.
  • Sử dụng cả đối số customeruserKey: Directory API trả về lỗi. Bạn phải thực hiện hai yêu cầu riêng biệt với đối số.

Để biết các thuộc tính yêu cầu và phản hồi, hãy xem Phương thức groups.list.

Một phản hồi thành công sẽ trả về một Mã trạng thái HTTP 200 và danh sách thông tin thành viên:

  • Tất cả các nhóm mà thành viên có gói thuê bao, kể cả các nhóm từ bên ngoài nhóm người dùng được trả về.
  • Các nhóm sẽ được trả về theo thứ tự bảng chữ cái trong địa chỉ email của mỗi nhóm.
  • Trong phần nội dung của phản hồi, id là mã nhận dạng duy nhất của nhóm.
  • Trong câu trả lời, danh sách của một nhóm từ bên ngoài miền của người dùng không bao gồm bí danh của nhóm bên ngoài.
{
    "kind": "directory#groups",
    "groups": [
     {
      "kind": "directory#group",
      "id": "group's unique ID",
      "etag": "group's unique ETag",
      "email": "[email protected]",
      "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"
}

Truy xuất tất cả bí danh nhóm

Để truy xuất tất cả các bí danh của một nhóm, hãy sử dụng yêu cầu GET sau đây và đưa vào uỷ quyền được mô tả trong Uỷ quyền cho các yêu cầu. Chiến lược phát hành đĩa đơn groupKey có thể là địa chỉ email chính của nhóm, địa chỉ duy nhất của nhóm id hoặc bất kỳ bí danh nhóm nào . Đối với các thuộc tính yêu cầu và phản hồi, hãy xem tài nguyên groups.

GET https://admin.googleapis.com/admin/directory/v1/groups/groupKey/aliases

Một phản hồi thành công sẽ trả về một Mã trạng thái HTTP 201 và danh sách bí danh của nhóm.

Xoá email đại diện của nhóm

Để xóa bí danh của nhóm, hãy sử dụng yêu cầu DELETE sau đây và bao gồm uỷ quyền được mô tả trong Uỷ quyền cho các yêu cầu. groupKey có thể là địa chỉ email chính của nhóm, là địa chỉ duy nhất của nhóm id hoặc bất kỳ bí danh nhóm nào . aliasId là bí danh đang đã bị xoá. Đối với các thuộc tính yêu cầu và phản hồi, hãy xem tài nguyên groups:

DELETE https://admin.googleapis.com/admin/directory/v1/groups/groupKey/aliases/aliasId

Một phản hồi thành công sẽ trả về một Mã trạng thái HTTP 201.

Xoá nhóm

Để xoá một nhóm, hãy dùng yêu cầu DELETE sau đây và bao gồm yêu cầu uỷ quyền được mô tả trong Uỷ quyền cho các yêu cầu. groupKeyid duy nhất của nhóm:

DELETE https://admin.googleapis.com/admin/directory/v1/groups/groupKey
Ví dụ: yêu cầu DELETE này sẽ xoá nhóm có nhóm nnnn id:
DELETE https://admin.googleapis.com/admin/directory/v1/group/nnnn

Một phản hồi thành công sẽ trả về một Mã trạng thái HTTP 200.

Khi một nhóm bị xoá, những điều sau đây sẽ xảy ra:

  • Tất cả thành viên của nhóm đều bị xoá. Tài khoản người dùng của thành viên sẽ không bị xoá.
  • Bản lưu trữ nhóm đã bị xóa.
  • Thư được gửi đến địa chỉ của nhóm đã bị xoá sẽ không được gửi đi. Thay vào đó, người gửi sẽ nhận được thư bị trả lại.