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 bí danh nhóm
- Truy xuất mộ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 mà một thành viên tham gia
- Truy xuất tất cả bí danh nhóm
- Xoá bí danh 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à thêm thông tin uỷ quyền được mô tả trong phần Uỷ quyền yêu cầu.
Bạn có thể tạo nhóm cho bất kỳ miền nào được liên kết với tài khoản. Đối với các chuỗi truy vấn, 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 nội dung yêu cầu mẫu để tạo một nhóm. Địa chỉ email của nhóm là sales_group@example.com:
{ "email": "sales_group@example.com", "name": "Sales Group", "description": "This is the Sales group." }
Lượt phản hồi thành công sẽ trả về 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 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 quyền 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ỳ địa chỉ email nào của email đại diện của nhóm hoặc id
duy nhất của nhóm. Đối với các chuỗi truy vấn, yêu cầu và thuộc tính phản hồi, hãy xem phương thức groups.update
.
PUT https://admin.googleapis.com/admin/directory/v1/groups/groupKey
Nhìn chung, Google khuyên bạn không nên sử dụng địa chỉ email của nhóm làm khoá cho dữ liệu ổn định vì địa chỉ email có thể thay đổi.
Trong ví dụ sau, groupKey
riêng biệt là nnn
và tên của nhóm là Nhóm bán hàng APAC:
PUT https://admin.googleapis.com/admin/directory/v1/groups/nnn
{ "email": "sales_group@example.com", "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 đã cập nhật trong yêu cầu của mình. Bạn không cần nhập tất cả thuộc tính của nhóm trong yêu cầu.
Lượt phản hồi thành công sẽ trả về 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": "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" } ] }
Thêm bí danh nhóm
Để thêm bí danh nhóm, hãy sử dụng yêu cầu POST
sau đây và thêm thông tin 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ỳ địa chỉ email nào của email đại diện của nhóm hoặc id
duy nhất của nhóm. Đối với các thuộc tính chuỗi truy vấn, 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, Google khuyên bạn không nên sử dụng địa chỉ email của nhóm làm khoá cho dữ liệu ổn đị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 nhóm. groupKey
là id
duy nhất của nhóm, được biểu thị bằng NNNN
POST https://admin.googleapis.com/admin/directory/v1/groups/NNNN/aliases
{ "alias": "best_sales_group@example.com" }
Lượt phản hồi thành công sẽ trả về mã trạng thái HTTP 201
và các thuộc tính cho bí danh nhóm mới.
Truy xuất một nhóm
Để truy xuất một nhóm, hãy sử dụng yêu cầuGET
sau đây và thêm thông tin 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ỳ địa chỉ email nào của email đại diện của nhóm hoặc id
duy nhất của nhóm. Đối với các chuỗi truy vấn, yêu cầu và thuộc tính 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, Google khuyên bạn không nên sử dụng địa chỉ email của nhóm làm khoá cho dữ liệu ổn đị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
Phản hồi thành công sẽ trả về 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": "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" } ] }
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 yêu cầu GET
sau đây và thêm quyền uỷ quyền được mô tả trong phần Uỷ quyền yêu cầu. Đối với các chuỗi truy vấn, 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 các dòng trả về:
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 cân nhắc những điều sau:
- Tất cả nhóm cho một miền con: Sử dụng đối số
domain
với tên miền. - Tất cả nhóm cho tài khoản: Sử dụng đối số
customer
vớimy_customer
hoặc giá trịcustomerId
của tài khoản. Là quản trị viên tài khoản, hãy sử dụng chuỗimy_customer
để biểu thịcustomerId
của tài khoản. Nếu bạn là đại lý truy cập vào tài khoản của khách hàng đã bán lại, hãy sử dụngcustomerId
của tài khoản đã bán lại. Đối với giá trịcustomerId
, hãy sử dụng tên miền chính của tài khoản trong yêu cầu của thao tác Truy xuất tất cả người dùng trong một miền. Phản hồi thu được có giá trịcustomerId
. - Sử dụng cả đối số
domain
vàcustomer
: Directory API trả về tất cả các nhóm chodomain
. - Không sử dụng đối số
domain
vàcustomer
: Directory API trả về tất cả các nhóm cho tài khoản được liên kết vớimy_customer
. Đây là tài khoảncustomerId
của quản trị viên đưa ra yêu cầu. - Sử dụng cả đối số
customer
vàuserKey
: Directory API trả về lỗi. Bạn phải tạo hai yêu cầu riêng biệt bằng các đối số này.
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ả các nhóm của 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ý sẽ trả về tất cả các nhóm cho tài khoản được bán lại bằng customerId C03az79cb
. Số kết quả tối đa được trả về trên mỗi trang phản hồi là 2.
Có một nextPageToken
cho danh sách tiếp theo của người dùng trong phản hồi này:
GET https://admin.googleapis.com/admin/directory/v1/groups?domain=sales.com&customer=C03az79cb&maxResults=2
Lượt phản hồi thành công sẽ trả về 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": "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" }
Truy xuất tất cả các nhóm mà một thành viên tham gia
Để truy xuất tất cả các nhóm mà một thành viên có gói thuê bao, hãy sử dụng yêu cầu GET
sau đây và thêm thông tin uỷ quyền được mô tả trong phần Uỷ quyền yêu cầu. Để dễ đọc, ví dụ này sử dụng các dòng trả về:
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, địa chỉ email đại diện của nhóm hoặcid
duy nhất của người dùng mà bạn có thể tìm thấy bằng cách sử dụng Truy xuất thao tác 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 trường hợp phân trang, phản hồi sẽ trả về thuộc tínhnextPageToken
cung cấp mã thông báo 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ẽ sử dụng mã thông báo này làm giá trị chuỗi truy vấnpageToken
. - Sử dụng cả đối số
customer
vàuserKey
: Directory API trả về lỗi. Bạn phải tạo hai yêu cầu riêng biệt bằng các đối số này.
Đối với 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ã 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, bao gồm cả các nhóm bên ngoài miền của người dùng, sẽ được trả về.
- Các nhóm được trả về theo thứ tự bảng chữ cái của địa chỉ email của từng 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 phản hồi, danh sách nhóm bên ngoài miền của người dùng không bao gồm các 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": "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" }
Truy xuất tất cả bí danh nhóm
Để truy xuất tất cả bí danh của một nhóm, hãy sử dụng yêu cầuGET
sau và đưa vào quyền uỷ quyền được mô tả trong phần Uỷ quyền yêu cầu. groupKey
có thể là địa chỉ email chính của nhóm, id
duy nhất của nhóm hoặc bất kỳ email nào của các email đại diện của nhóm. Đố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
Phản hồi thành công sẽ trả về mã trạng thái HTTP 201
và danh sách các bí danh của nhóm.
Xoá bí danh nhóm
Để xoá bí danh của một nhóm, hãy sử dụng yêu cầuDELETE
sau đây và thêm quyền uỷ quyền được mô tả trong phần Uỷ quyền yêu cầu.
groupKey
có thể là địa chỉ email chính của nhóm, id
duy nhất của nhóm hoặc bất kỳ email nào của các địa chỉ email đại diện của nhóm. 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
Phản hồi thành công sẽ trả về mã trạng thái HTTP 201
.
Xoá nhóm
Để xoá một nhóm, hãy sử dụng yêu cầu DELETE
sau đây và thêm thông tin uỷ quyền được mô tả trong phần Uỷ quyền yêu cầu.
groupKey
là id
duy nhất của nhóm:
DELETE https://admin.googleapis.com/admin/directory/v1/groups/groupKey
DELETE
này sẽ xoá nhóm có nhóm nnnn
id
:
DELETE https://admin.googleapis.com/admin/directory/v1/group/nnnn
Phản hồi thành công sẽ trả về mã trạng thái HTTP 200
.
Khi một nhóm bị xoá, những điều sau sẽ xảy ra:
- Tất cả thành viên của nhóm sẽ 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 sẽ bị xoá.
- Thư gửi đến địa chỉ của nhóm đã xoá sẽ không được gửi đi. Thay vào đó, người gửi sẽ nhận được thông báo trả về.