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à sales_group@example.com:
{ "email": "sales_group@example.com", "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": "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 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": "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 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
groupKey
là id
duy nhất của nhóm do NNNN
biểu thị
POST https://admin.googleapis.com/admin/directory/v1/groups/NNNN/aliases
{ "alias": "best_sales_group@example.com" }
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ầuGET
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": "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 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 haimy_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ỗimy_customer
để đại diện chocustomerId
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ụngcustomerId
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ố
domain
vàcustomer
: Directory API trả về tất cả các nhóm chodomain
. - Không sử dụng các đố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 tạo yêu cầu. - Sử dụng cả đối số
customer
vàuserKey
: 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": "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 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ặcid
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ínhnextPageToken
, 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ấnpageToken
. - Sử dụng cả đối số
customer
vàuserKey
: 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": "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ả các bí danh của một nhóm, hãy sử dụng yêu cầuGET
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ầuDELETE
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.
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
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.