Um membro do espaço para reuniões é um usuário configurado para ter uma função no espaço. Esses usuários podem entrar no espaço para reuniões sem pedir permissão para se conectar (também conhecido como "bater").
Embora os organizadores de reuniões possam entrar automaticamente no espaço para reuniões, você também pode configurar outros membros do espaço para reuniões para entrar sem precisar pedir.
Além disso, os membros podem ser configurados para ter uma
Role na
reunião, como COHOST, que permite que eles gerenciem a reunião durante uma
conferência, mas não podem configurar materiais automáticos nem alterar as configurações de
moderação. Para mais informações sobre como acessar um espaço para reuniões sem
bater na porta, consulte
AccessType.
O recurso spaces.members
inclui os campos name, email e role.
Um membro do espaço de reunião é diferente de um participante. Um participante é uma pessoa que entrou em uma chamada ou usa o modo companion, assiste como espectador ou um dispositivo de sala conectado a uma chamada. Há um recurso
conferenceRecords.participants
para cada pessoa.
Comportamentos comuns de métodos
Ao gerenciar membros do espaço para reuniões usando a API REST do Meet, os métodos compartilham as seguintes convenções:
Parâmetros de caminho:cada método usa um parâmetro de caminho. Os métodos
create,listebatchUpdateusam o campoparentpara se referir ao espaço para reuniões (spaces/{space}). Os métodosdelete,getepatchusam o camponamepara filtrar os resultados por espaço para reuniões e nome do participante (spaces/{space}/members/{member}).Tipos de retorno:os métodos
create,getepatchretornam uma instância do recursoMember. Os métodoslistebatchUpdateretornam uma lista de recursosMember(deleteretorna um corpo de resposta vazio).Máscaras de campo:todos os métodos, exceto
delete, são compatíveis com uma máscara de campo. Para os métodoscreate,getelist, use o parâmetrofieldsem SystemParameterContext para especificar quais campos retornar. Quando você omite o parâmetrofields, a resposta da API usa"name,email,role,user"como padrão. Para os métodospatchebatchUpdate, use umupdateMaskpara especificar quais campos mudar.Usar uma FieldMask:um
FieldMaské uma maneira de os chamadores de API listarem os campos que uma solicitação deve retornar ou modificar. É uma lista de campos delimitada por vírgulas para especificar que apenas determinados campos em um objeto são usados, deixando os outros inalterados. Usar umFieldMaskpermite que a API evite trabalho desnecessário e melhore a performance. Para mais informações sobre máscaras de campo, consulte Usar máscaras de campo na API Google Sheets.
Criar uma associação
Para adicionar um membro a um espaço para reuniões, use o método
create
no recurso
spaces.members.
O exemplo de código a seguir mostra como criar um membro:
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"
}'
Substitua ACCESS_TOKEN pelo token de acesso que concede acesso à API.
Substitua o valor do nome do espaço pelo ID exclusivo gerado pelo servidor para o espaço de reunião.
Receber detalhes sobre um membro
Para recuperar detalhes sobre um membro específico, use o método
get no recurso
spaces.members.
O exemplo de código a seguir mostra como recuperar um membro:
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"
Substitua ACCESS_TOKEN pelo token de acesso que concede acesso à API.
Substitua os valores de nome do espaço e nome do membro pelos IDs exclusivos gerados pelo servidor para o espaço para reuniões e o membro.
Membros da lista
Para listar todos os membros em um espaço para reuniões, use o método list no recurso spaces.members.
O exemplo de código a seguir mostra como listar membros:
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"
Substitua ACCESS_TOKEN pelo token de acesso que concede acesso à API.
Substitua o valor do nome do espaço pelo ID exclusivo gerado pelo servidor para o espaço de reunião.
Atualizar um membro
Para atualizar a função de um membro em um espaço para reuniões, use o método
patch no recurso
spaces.members.
O exemplo de código a seguir mostra como atualizar um membro:
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"
}'
Substitua ACCESS_TOKEN pelo token de acesso que concede acesso à API.
Substitua os valores de nome do espaço e nome do membro pelos IDs exclusivos gerados pelo servidor para o espaço para reuniões e o membro.
Atualização em lote de membros
Para atualizar as funções de vários membros em uma única solicitação, use o método
batchUpdate
no recurso
spaces.members.
O exemplo de código a seguir mostra como atualizar membros em lote:
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"
}'
Substitua ACCESS_TOKEN pelo token de acesso que concede acesso à API.
Substitua os valores de nome do espaço e nome do membro pelos IDs exclusivos gerados pelo servidor para o espaço para reuniões e os membros.
Excluir um membro
Para remover um membro de um espaço para reuniões, use o método
delete
no recurso
spaces.members.
O exemplo de código a seguir mostra como excluir um membro:
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"
Substitua ACCESS_TOKEN pelo token de acesso que concede acesso à API.
Substitua os valores de nome do espaço e nome do membro pelos IDs exclusivos gerados pelo servidor para o espaço para reuniões e o membro.
Temas relacionados
- Gerenciar espaços de reunião
- Configurar as opções de espaço para reuniões
- Trabalhar com participantes