Thành viên của không gian trong cuộc họp là người dùng được thiết lập để có một vai trò trong không gian đó. Những người dùng này có thể tham gia không gian họp mà không cần yêu cầu quyền kết nối (còn gọi là "gõ cửa").
Mặc dù người tổ chức cuộc họp có thể tự động vào không gian cuộc họp, nhưng bạn cũng có thể định cấu hình để các thành viên khác trong không gian cuộc họp tham gia cuộc họp mà không cần gửi yêu cầu tham gia.
Ngoài ra, bạn có thể định cấu hình để các thành viên có Role trong cuộc họp, chẳng hạn như COHOST cho phép họ cùng quản lý cuộc họp trong một hội nghị, mặc dù họ không thể định cấu hình các thành phần tự động hoặc thay đổi chế độ cài đặt kiểm duyệt. Để biết thêm thông tin về cách truy cập vào một không gian họp mà không cần gõ cửa, hãy xem phần AccessType.
Tài nguyên spaces.members bao gồm các trường name, email và role.
Xin lưu ý rằng thành viên của không gian họp khác với người tham gia. Người tham gia là người đã tham gia cuộc gọi hoặc sử dụng Chế độ đồng hành, xem với tư cách là người xem hoặc thiết bị phòng họp kết nối với cuộc gọi. Mỗi người có một tài nguyên conferenceRecords.participants.
Hành vi của phương thức phổ biến
Khi quản lý thành viên của không gian họp bằng Meet REST API, các phương thức sẽ có những quy ước sau:
Tham số đường dẫn: Mỗi phương thức đều sử dụng một tham số đường dẫn. Các phương thức
create,listvàbatchUpdatesử dụng trườngparentđể tham chiếu đến không gian họp (spaces/{space}). Các phương thứcdelete,getvàpatchsử dụng trườngnameđể lọc kết quả theo không gian họp và tên thành viên (spaces/{space}/members/{member}).Loại dữ liệu trả về: Các phương thức
create,getvàpatchtrả về một thực thể của tài nguyênMember. Các phương thứclistvàbatchUpdatetrả về một danh sách các tài nguyênMember(deletetrả về một nội dung phản hồi trống).Mặt nạ cho trường: Tất cả các phương thức (ngoại trừ
delete) đều hỗ trợ mặt nạ cho trường. Đối với các phương thứccreate,getvàlist, bạn có thể sử dụng tham sốfieldstrong SystemParameterContext để chỉ định những trường cần trả về. Khi bạn bỏ qua tham sốfields, phản hồi API sẽ mặc định là"name,email,role,user". Đối với các phương thứcpatchvàbatchUpdate, bạn sử dụngupdateMaskđể chỉ định những trường cần thay đổi.Sử dụng FieldMask:
FieldMasklà cách để người gọi API liệt kê các trường mà một yêu cầu sẽ trả về hoặc sửa đổi. Đây là danh sách các trường được phân tách bằng dấu phẩy để chỉ định chỉ một số trường nhất định trong một đối tượng được dùng trong khi các trường khác vẫn không thay đổi. Việc sử dụngFieldMaskcho phép API tránh những công việc không cần thiết và cải thiện hiệu suất. Để biết thêm thông tin về mặt nạ trường, hãy xem bài viết Sử dụng mặt nạ trường của API Google Trang tính.
Tạo một thành viên
Để thêm thành viên vào một không gian họp, hãy sử dụng phương thức create trên tài nguyên spaces.members.
Mã mẫu sau đây cho biết cách tạo một thành viên:
Java
import com.google.apps.meet.v2.Member;
import com.google.apps.meet.v2.SpacesServiceClient;
public class CreateMember {
public static void main(String[] args) throws Exception {
try (SpacesServiceClient client = SpacesServiceClient.create()) {
Member member = Member.newBuilder()
.setEmail("user@example.com")
.setRole(Member.Role.COHOST)
.build();
Member response = client.createMember("spaces/SPACE_NAME", member);
System.out.println("Member created: " + response.getName());
}
}
}
Node.js
const {SpacesServiceClient} = require('@google-apps/meet').v2;
async function createMember(spaceName, email) {
const client = new SpacesServiceClient();
const [response] = await client.createMember({
parent: spaceName,
member: {
email: email,
role: 'COHOST',
},
});
console.log(`Member created: ${response.name}`);
return response;
}
Python
from google.apps import meet_v2
def create_member(space_name, email):
client = meet_v2.SpacesServiceClient()
member = meet_v2.Member(
email=email,
role=meet_v2.Member.Role.COHOST,
)
response = client.create_member(parent=space_name, member=member)
print(f"Member created: {response.name}")
return response
Apps Script
function createMember(spaceName, email) {
const response = UrlFetchApp.fetch(
`https://meet.googleapis.com/v2/${spaceName}/members`,
{
method: 'post',
contentType: 'application/json',
headers: {
Authorization: 'Bearer ' + ScriptApp.getOAuthToken(),
},
payload: JSON.stringify({
email: email,
role: 'COHOST',
}),
}
);
const member = JSON.parse(response.getContentText());
Logger.log('Member created: ' + member.name);
return member;
}
cURL
curl -X POST \
"https://meet.googleapis.com/v2/spaces/SPACE_NAME/members" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"role": "COHOST"
}'
Thay thế ACCESS_TOKEN bằng mã truy cập cấp quyền truy cập vào API.
Thay thế giá trị tên không gian bằng mã nhận dạng duy nhất do máy chủ tạo cho không gian họp.
Xem thông tin chi tiết về một thành viên
Để truy xuất thông tin chi tiết về một thành viên cụ thể, hãy sử dụng phương thức get trên tài nguyên spaces.members.
Mã mẫu sau đây cho biết cách truy xuất một thành viên:
Java
import com.google.apps.meet.v2.Member;
import com.google.apps.meet.v2.SpacesServiceClient;
public class GetMember {
public static void main(String[] args) throws Exception {
try (SpacesServiceClient client = SpacesServiceClient.create()) {
Member response =
client.getMember("spaces/SPACE_NAME/members/MEMBER_NAME");
System.out.println("Member role: " + response.getRole());
}
}
}
Node.js
const {SpacesServiceClient} = require('@google-apps/meet').v2;
async function getMember(memberName) {
const client = new SpacesServiceClient();
const [response] = await client.getMember({name: memberName});
console.log(`Member role: ${response.role}`);
return response;
}
Python
from google.apps import meet_v2
def get_member(member_name):
client = meet_v2.SpacesServiceClient()
response = client.get_member(name=member_name)
print(f"Member role: {response.role.name}")
return response
Apps Script
function getMember(memberName) {
// memberName format: "spaces/{space}/members/{member}"
const response = UrlFetchApp.fetch(
`https://meet.googleapis.com/v2/${memberName}`,
{
method: 'get',
headers: {
Authorization: 'Bearer ' + ScriptApp.getOAuthToken(),
},
}
);
const member = JSON.parse(response.getContentText());
Logger.log('Member role: ' + member.role);
return member;
}
cURL
curl -X GET \
"https://meet.googleapis.com/v2/spaces/SPACE_NAME/members/MEMBER_NAME" \
-H "Authorization: Bearer ACCESS_TOKEN"
Thay thế ACCESS_TOKEN bằng mã truy cập cấp quyền truy cập vào API.
Thay thế các giá trị tên không gian và tên thành viên bằng các mã nhận dạng duy nhất do máy chủ tạo cho không gian cuộc họp và thành viên.
Danh sách thành viên
Để liệt kê tất cả thành viên trong một không gian họp, hãy sử dụng phương thức list trên tài nguyên spaces.members.
Mã mẫu sau đây cho biết cách liệt kê các thành viên:
Java
import com.google.apps.meet.v2.Member;
import com.google.apps.meet.v2.SpacesServiceClient;
public class ListMembers {
public static void main(String[] args) throws Exception {
try (SpacesServiceClient client = SpacesServiceClient.create()) {
for (Member member :
client.listMembers("spaces/SPACE_NAME").iterateAll()) {
System.out.println("Member: " + member.getName() + " (" +
member.getEmail() + ")");
}
}
}
}
Node.js
const {SpacesServiceClient} = require('@google-apps/meet').v2;
async function listMembers(spaceName) {
const client = new SpacesServiceClient();
const [members] = await client.listMembers({parent: spaceName});
members.forEach((member) => {
console.log(`Member: ${member.name} (${member.email})`);
});
return members;
}
Python
from google.apps import meet_v2
def list_members(space_name):
client = meet_v2.SpacesServiceClient()
response = client.list_members(parent=space_name)
for member in response:
print(f"Member: {member.name} ({member.email})")
Apps Script
function listMembers(spaceName) {
const response = UrlFetchApp.fetch(
`https://meet.googleapis.com/v2/${spaceName}/members`,
{
method: 'get',
headers: {
Authorization: 'Bearer ' + ScriptApp.getOAuthToken(),
},
}
);
const data = JSON.parse(response.getContentText());
(data.members || []).forEach((member) => {
Logger.log(`Member: ${member.name} (${member.email})`);
});
return data.members;
}
cURL
curl -X GET \
"https://meet.googleapis.com/v2/spaces/SPACE_NAME/members" \
-H "Authorization: Bearer ACCESS_TOKEN"
Thay thế ACCESS_TOKEN bằng mã truy cập cấp quyền truy cập vào API.
Thay thế giá trị tên không gian bằng mã nhận dạng duy nhất do máy chủ tạo cho không gian họp.
Cập nhật thông tin của một thành viên
Để cập nhật vai trò của một thành viên trong không gian họp, hãy sử dụng phương thức patch trên tài nguyên spaces.members.
Mã mẫu sau đây cho biết cách cập nhật một thành viên:
Java
import com.google.apps.meet.v2.Member;
import com.google.apps.meet.v2.SpacesServiceClient;
import com.google.protobuf.FieldMask;
public class UpdateMember {
public static void main(String[] args) throws Exception {
try (SpacesServiceClient client = SpacesServiceClient.create()) {
Member member = Member.newBuilder()
.setName("spaces/SPACE_NAME/members/MEMBER_NAME")
.setRole(Member.Role.ROLE_UNSPECIFIED)
.build();
FieldMask updateMask =
FieldMask.newBuilder().addPaths("role").build();
Member response = client.updateMember(member, updateMask);
System.out.println("Updated member: " + response.getName());
}
}
}
Node.js
const {SpacesServiceClient} = require('@google-apps/meet').v2;
async function updateMember(memberName) {
const client = new SpacesServiceClient();
const [response] = await client.updateMember({
member: {
name: memberName,
role: 'ROLE_UNSPECIFIED',
},
updateMask: {
paths: ['role'],
},
});
console.log(`Updated member: ${response.name}`);
return response;
}
Python
from google.apps import meet_v2
from google.protobuf import field_mask_pb2
def update_member(member_name):
client = meet_v2.SpacesServiceClient()
member = meet_v2.Member(
name=member_name,
role=meet_v2.Member.Role.ROLE_UNSPECIFIED,
)
update_mask = field_mask_pb2.FieldMask(paths=["role"])
response = client.update_member(member=member, update_mask=update_mask)
print(f"Updated member: {response.name}")
return response
Apps Script
function updateMember(memberName) {
// memberName format: "spaces/{space}/members/{member}"
const baseUrl = 'https://meet.googleapis.com/v2/';
const url = `${baseUrl}${memberName}?updateMask=role`;
const response = UrlFetchApp.fetch(url, {
method: 'patch',
contentType: 'application/json',
headers: {
Authorization: 'Bearer ' + ScriptApp.getOAuthToken(),
},
payload: JSON.stringify({
role: 'ROLE_UNSPECIFIED',
}),
});
const member = JSON.parse(response.getContentText());
Logger.log('Updated member: ' + member.name);
return member;
}
cURL
curl -X PATCH \
"https://meet.googleapis.com/v2/spaces/SPACE_NAME/members/MEMBER_NAME?updateMask=role" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"role": "ROLE_UNSPECIFIED"
}'
Thay thế ACCESS_TOKEN bằng mã truy cập cấp quyền truy cập vào API.
Thay thế các giá trị tên không gian và tên thành viên bằng các mã nhận dạng duy nhất do máy chủ tạo cho không gian cuộc họp và thành viên.
Cập nhật theo lô thành viên
Để cập nhật vai trò của nhiều thành viên trong một yêu cầu, hãy sử dụng phương thức batchUpdate trên tài nguyên spaces.members.
Đoạn mã mẫu sau đây cho biết cách cập nhật theo lô thành viên:
Java
import com.google.apps.meet.v2.BatchUpdateMembersRequest;
import com.google.apps.meet.v2.BatchUpdateMembersResponse;
import com.google.apps.meet.v2.Member;
import com.google.apps.meet.v2.SpacesServiceClient;
import com.google.apps.meet.v2.UpdateMemberRequest;
import com.google.protobuf.FieldMask;
import java.util.Arrays;
public class BatchUpdateMembers {
public static void main(String[] args) throws Exception {
try (SpacesServiceClient client = SpacesServiceClient.create()) {
UpdateMemberRequest req1 = UpdateMemberRequest.newBuilder()
.setMember(Member.newBuilder()
.setName("spaces/SPACE_NAME/members/MEMBER_1")
.setRole(Member.Role.COHOST)
.build())
.build();
UpdateMemberRequest req2 = UpdateMemberRequest.newBuilder()
.setMember(Member.newBuilder()
.setName("spaces/SPACE_NAME/members/MEMBER_2")
.setRole(Member.Role.ROLE_UNSPECIFIED)
.build())
.build();
BatchUpdateMembersRequest request =
BatchUpdateMembersRequest.newBuilder()
.setParent("spaces/SPACE_NAME")
.addAllRequests(Arrays.asList(req1, req2))
.setUpdateMask(
FieldMask.newBuilder().addPaths("role").build())
.build();
BatchUpdateMembersResponse response =
client.batchUpdateMembers(request);
System.out.println(
"Updated " + response.getMembersCount() + " members.");
}
}
}
Node.js
const {SpacesServiceClient} = require('@google-apps/meet').v2;
async function batchUpdateMembers(spaceName, member1, member2) {
const client = new SpacesServiceClient();
const [response] = await client.batchUpdateMembers({
parent: spaceName,
requests: [
{
member: {name: member1, role: 'COHOST'},
},
{
member: {name: member2, role: 'ROLE_UNSPECIFIED'},
},
],
updateMask: {
paths: ['role'],
},
});
console.log(`Updated ${response.members.length} members.`);
return response;
}
Python
from google.apps import meet_v2
from google.protobuf import field_mask_pb2
def batch_update_members(space_name, member_1, member_2):
client = meet_v2.SpacesServiceClient()
requests = [
meet_v2.UpdateMemberRequest(
member=meet_v2.Member(
name=member_1, role=meet_v2.Member.Role.COHOST
)
),
meet_v2.UpdateMemberRequest(
member=meet_v2.Member(
name=member_2, role=meet_v2.Member.Role.ROLE_UNSPECIFIED
)
),
]
update_mask = field_mask_pb2.FieldMask(paths=["role"])
response = client.batch_update_members(
parent=space_name, requests=requests, update_mask=update_mask
)
print(f"Updated {len(response.members)} members.")
return response
Apps Script
function batchUpdateMembers(spaceName, member1, member2) {
const url =
`https://meet.googleapis.com/v2/${spaceName}/members:batchUpdate`;
const response = UrlFetchApp.fetch(url, {
method: 'post',
contentType: 'application/json',
headers: {
Authorization: 'Bearer ' + ScriptApp.getOAuthToken(),
},
payload: JSON.stringify({
requests: [
{member: {name: member1, role: 'COHOST'}},
{member: {name: member2, role: 'ROLE_UNSPECIFIED'}},
],
updateMask: 'role',
}),
});
const data = JSON.parse(response.getContentText());
Logger.log(`Updated ${data.members.length} members.`);
return data.members;
}
cURL
curl -X POST \
"https://meet.googleapis.com/v2/spaces/SPACE_NAME/members:batchUpdate" \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"requests": [
{
"member": {
"name": "spaces/SPACE_NAME/members/MEMBER_1",
"role": "COHOST"
}
},
{
"member": {
"name": "spaces/SPACE_NAME/members/MEMBER_2",
"role": "ROLE_UNSPECIFIED"
}
}
],
"updateMask": "role"
}'
Thay thế ACCESS_TOKEN bằng mã truy cập cấp quyền truy cập vào API.
Thay thế các giá trị tên không gian và tên thành viên bằng mã nhận dạng duy nhất do máy chủ tạo cho không gian cuộc họp và các thành viên.
Xoá thành viên
Để xoá một thành viên khỏi không gian họp, hãy sử dụng phương thức delete trên tài nguyên spaces.members.
Mã mẫu sau đây cho biết cách xoá một thành viên:
Java
import com.google.apps.meet.v2.SpacesServiceClient;
public class DeleteMember {
public static void main(String[] args) throws Exception {
try (SpacesServiceClient client = SpacesServiceClient.create()) {
client.deleteMember("spaces/SPACE_NAME/members/MEMBER_NAME");
System.out.println("Member deleted.");
}
}
}
Node.js
const {SpacesServiceClient} = require('@google-apps/meet').v2;
async function deleteMember(memberName) {
const client = new SpacesServiceClient();
await client.deleteMember({name: memberName});
console.log('Member deleted.');
}
Python
from google.apps import meet_v2
def delete_member(member_name):
client = meet_v2.SpacesServiceClient()
client.delete_member(name=member_name)
print("Member deleted.")
Apps Script
function deleteMember(memberName) {
// memberName format: "spaces/{space}/members/{member}"
UrlFetchApp.fetch(`https://meet.googleapis.com/v2/${memberName}`, {
method: 'delete',
headers: {
Authorization: 'Bearer ' + ScriptApp.getOAuthToken(),
},
});
Logger.log('Member deleted.');
}
cURL
curl -X DELETE \
"https://meet.googleapis.com/v2/spaces/SPACE_NAME/members/MEMBER_NAME" \
-H "Authorization: Bearer ACCESS_TOKEN"
Thay thế ACCESS_TOKEN bằng mã truy cập cấp quyền truy cập vào API.
Thay thế các giá trị tên không gian và tên thành viên bằng các mã nhận dạng duy nhất do máy chủ tạo cho không gian cuộc họp và thành viên.