Un membre d'un espace de réunion est un utilisateur configuré pour avoir un rôle dans l'espace de réunion. Ces utilisateurs peuvent rejoindre l'espace de réunion sans demander l'autorisation de se connecter.
Si les organisateurs de réunions peuvent accéder automatiquement à l'espace de réunion, vous pouvez également configurer d'autres membres de l'espace de réunion pour qu'ils puissent participer à la réunion sans avoir à demander à y participer.
De plus, les membres peuvent être configurés pour disposer d'un Role dans la réunion, comme COHOST, ce qui leur permet de cogérer la réunion pendant une conférence, mais ils ne peuvent pas configurer les artefacts automatiques ni modifier les paramètres de modération. Pour savoir comment accéder à un espace de réunion sans frapper à la porte, consultez AccessType.
La ressource spaces.members inclut les champs name, email et role.
Notez qu'un membre d'un espace de réunion est différent d'un participant. Un participant est une personne qui a rejoint un appel ou qui utilise le mode Compagnon, qui regarde en tant que spectateur ou qui utilise un appareil de salle connecté à un appel. Il existe une ressource conferenceRecords.participants pour chaque personne.
Comportements courants des méthodes
Lorsque vous gérez les membres d'un espace de réunion à l'aide de l'API Meet REST, les méthodes partagent les conventions suivantes :
Paramètres de chemin d'accès : chaque méthode utilise un paramètre de chemin d'accès. Les méthodes
create,listetbatchUpdateutilisent le champparentpour faire référence à l'espace de réunion (spaces/{space}). Les méthodesdelete,getetpatchutilisent le champnamepour filtrer les résultats par espace de réunion et nom de membre (spaces/{space}/members/{member}).Types de retour : les méthodes
create,getetpatchrenvoient une instance de la ressourceMember. Les méthodeslistetbatchUpdaterenvoient une liste de ressourcesMember(deleterenvoie un corps de réponse vide).Masques de champ : tous les méthodes, à l'exception de
delete, sont compatibles avec un masque de champ. Pour les méthodescreate,getetlist, vous pouvez utiliser le paramètrefieldsdans SystemParameterContext pour spécifier les champs à renvoyer. Lorsque vous omettez le paramètrefields, la réponse de l'API est définie par défaut sur"name,email,role,user". Pour les méthodespatchetbatchUpdate, vous utilisez unupdateMaskpour spécifier les champs à modifier.Utiliser un FieldMask : un
FieldMaskpermet aux appelants d'API de lister les champs qu'une requête doit renvoyer ou modifier. Il s'agit d'une liste de champs délimitée par des virgules permettant de spécifier que seuls certains champs d'un objet sont utilisés, tandis que les autres champs restent inchangés. L'utilisation d'unFieldMaskpermet à l'API d'éviter les tâches inutiles et d'améliorer les performances. Pour en savoir plus sur les masques de champ, consultez la section Utiliser des masques de champ de l'API Google Sheets.
Créer un membre
Pour ajouter un membre à un espace de réunion, utilisez la méthode create sur la ressource spaces.members.
L'exemple de code suivant montre comment créer un membre :
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"
}'
Remplacez ACCESS_TOKEN par le jeton d'accès qui permet d'accéder à l'API.
Remplacez la valeur du nom de l'espace par l'ID unique généré par le serveur pour l'espace de réunion.
Obtenir des informations sur un membre
Pour récupérer des informations sur un membre spécifique, utilisez la méthode get sur la ressource spaces.members.
L'exemple de code suivant montre comment récupérer un membre :
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"
Remplacez ACCESS_TOKEN par le jeton d'accès qui permet d'accéder à l'API.
Remplacez les valeurs du nom de l'espace et du nom du membre par les ID uniques générés par le serveur pour l'espace de réunion et le membre.
Membres de la liste
Pour lister tous les membres d'un espace de réunion, utilisez la méthode list sur la ressource spaces.members.
L'exemple de code suivant montre comment lister les membres :
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"
Remplacez ACCESS_TOKEN par le jeton d'accès qui permet d'accéder à l'API.
Remplacez la valeur du nom de l'espace par l'ID unique généré par le serveur pour l'espace de réunion.
Modifier un membre
Pour modifier le rôle d'un membre dans un espace de réunion, utilisez la méthode patch sur la ressource spaces.members.
L'exemple de code suivant montre comment mettre à jour un membre :
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"
}'
Remplacez ACCESS_TOKEN par le jeton d'accès qui permet d'accéder à l'API.
Remplacez les valeurs du nom de l'espace et du nom du membre par les ID uniques générés par le serveur pour l'espace de réunion et le membre.
Mise à jour groupée des membres
Pour modifier les rôles de plusieurs membres dans une même requête, utilisez la méthode batchUpdate sur la ressource spaces.members.
L'exemple de code suivant montre comment mettre à jour des membres par lot :
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"
}'
Remplacez ACCESS_TOKEN par le jeton d'accès qui permet d'accéder à l'API.
Remplacez les valeurs du nom de l'espace et du nom du membre par les ID uniques générés par le serveur pour l'espace de réunion et les membres.
Supprimer un membre
Pour supprimer un membre d'un espace de réunion, utilisez la méthode delete sur la ressource spaces.members.
L'exemple de code suivant montre comment supprimer un membre :
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"
Remplacez ACCESS_TOKEN par le jeton d'accès qui permet d'accéder à l'API.
Remplacez les valeurs du nom de l'espace et du nom du membre par les ID uniques générés par le serveur pour l'espace de réunion et le membre.
Articles associés
- Gérer les espaces de réunion
- Configurer les paramètres d'un espace de réunion
- Utiliser les participants