Ein Konferenzraummitglied ist ein Nutzer, der für eine Rolle im Konferenzraum konfiguriert ist. Diese Nutzer können dem Konferenzraum beitreten, ohne eine Verbindungsanfrage stellen zu müssen (auch als „Anklopfen“ bezeichnet).
Videokonferenzorganisatoren können den Videokonferenzbereich automatisch betreten. Sie können aber auch festlegen, dass weitere Mitglieder des Videokonferenzbereichs ohne Anklopfen an der Videokonferenz teilnehmen dürfen.
Außerdem können Mitglieder so konfiguriert werden, dass sie eine Role in der Besprechung haben, z. B. COHOST. Dadurch können sie die Besprechung während einer Konferenz gemeinsam verwalten, aber keine automatischen Artefakte konfigurieren oder Moderationseinstellungen ändern. Weitere Informationen zum Zugriff auf einen Konferenzraum ohne Anklopfen finden Sie unter AccessType.
Die Ressource spaces.members enthält die Felder name, email und role.
Ein Mitglied eines Besprechungsbereichs ist nicht dasselbe wie ein Teilnehmer. Ein Teilnehmer ist eine Person, die an einem Anruf teilnimmt oder den Companion-Modus verwendet, als Zuschauer teilnimmt oder ein Raumgerät, das mit einem Anruf verbunden ist. Es gibt eine conferenceRecords.participants-Ressource für jede Person.
Häufige Methodenverhaltensweisen
Wenn Sie Mitglieder von Besprechungsräumen mit der Meet REST API verwalten, gelten für die Methoden die folgenden Konventionen:
Pfadparameter:Für jede Methode wird ein Pfadparameter verwendet. Bei den Methoden
create,listundbatchUpdatewird das Feldparentverwendet, um auf den Konferenzraum (spaces/{space}) zu verweisen. Bei den Methodendelete,getundpatchwird das Feldnameverwendet, um Ergebnisse nach Konferenzraum und Mitgliedsname (spaces/{space}/members/{member}) zu filtern.Rückgabetypen:Die Methoden
create,getundpatchgeben eine Instanz der RessourceMemberzurück. Die MethodenlistundbatchUpdategeben eine Liste vonMember-Ressourcen zurück (deletegibt einen leeren Antworttext zurück).Feldmasken:Alle Methoden außer
deleteunterstützen eine Feldmaske. Für die Methodencreate,getundlistkönnen Sie mit dem Parameterfieldsin SystemParameterContext angeben, welche Felder zurückgegeben werden sollen. Wenn Sie den Parameterfieldsweglassen, wird in der API-Antwort standardmäßig"name,email,role,user"zurückgegeben. Bei den MethodenpatchundbatchUpdategeben Sie mit einemupdateMaskan, welche Felder geändert werden sollen.FieldMask verwenden:Eine
FieldMaskist eine Möglichkeit für API-Aufrufer, Felder aufzulisten, die in einer Anfrage zurückgegeben oder geändert werden sollen. Es handelt sich um eine durch Kommas getrennte Liste von Feldern, mit der Sie festlegen können, dass nur bestimmte Felder in einem Objekt verwendet werden, während die anderen Felder unverändert bleiben. Durch die Verwendung einesFieldMaskkann die API unnötige Arbeit vermeiden und die Leistung verbessern. Weitere Informationen zu Feldmasken finden Sie unter Feldmasken verwenden in der Google Sheets API.
Mitglied erstellen
Verwenden Sie die Methode create für die Ressource spaces.members, um einem Konferenzraum ein Mitglied hinzuzufügen.
Das folgende Codebeispiel zeigt, wie ein Mitglied erstellt wird:
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"
}'
Ersetzen Sie ACCESS_TOKEN durch das Zugriffstoken, das Zugriff auf die API gewährt.
Ersetzen Sie den Wert für den Namen des Bereichs durch die eindeutige, vom Server generierte ID für den Besprechungsbereich.
Details zu einem Mitglied abrufen
Wenn Sie Details zu einem bestimmten Mitglied abrufen möchten, verwenden Sie die Methode get für die Ressource spaces.members.
Das folgende Codebeispiel zeigt, wie Sie ein Mitglied abrufen:
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"
Ersetzen Sie ACCESS_TOKEN durch das Zugriffstoken, das Zugriff auf die API gewährt.
Ersetzen Sie die Werte für den Konferenzraum- und Mitgliedernamen durch die eindeutigen, vom Server generierten IDs für den Konferenzraum und das Mitglied.
Listenmitglieder
Verwenden Sie die Methode list für die Ressource spaces.members, um alle Mitglieder in einem Konferenzraum aufzulisten.
Das folgende Codebeispiel zeigt, wie Sie Mitglieder auflisten:
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"
Ersetzen Sie ACCESS_TOKEN durch das Zugriffstoken, das Zugriff auf die API gewährt.
Ersetzen Sie den Wert für den Namen des Bereichs durch die eindeutige, vom Server generierte ID für den Besprechungsbereich.
Mitglied aktualisieren
Verwenden Sie die Methode patch für die Ressource spaces.members, um die Rolle eines Mitglieds in einem Konferenzraum zu aktualisieren.
Das folgende Codebeispiel zeigt, wie Sie ein Mitglied aktualisieren:
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"
}'
Ersetzen Sie ACCESS_TOKEN durch das Zugriffstoken, das Zugriff auf die API gewährt.
Ersetzen Sie die Werte für den Konferenzraum- und Mitgliedernamen durch die eindeutigen, vom Server generierten IDs für den Konferenzraum und das Mitglied.
Mitglieder per Batch-Update aktualisieren
Wenn Sie die Rollen mehrerer Mitglieder in einer einzigen Anfrage aktualisieren möchten, verwenden Sie die Methode batchUpdate für die Ressource spaces.members.
Das folgende Codebeispiel zeigt, wie Mitglieder im Batch aktualisiert werden:
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"
}'
Ersetzen Sie ACCESS_TOKEN durch das Zugriffstoken, das Zugriff auf die API gewährt.
Ersetzen Sie die Werte für den Bereichsnamen und den Mitgliedernamen durch die eindeutigen, vom Server generierten IDs für den Konferenzraum und die Mitglieder.
Mitglied löschen
Wenn Sie ein Mitglied aus einem Konferenzraum entfernen möchten, verwenden Sie die Methode delete für die Ressource spaces.members.
Im folgenden Codebeispiel wird gezeigt, wie ein Mitglied gelöscht wird:
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"
Ersetzen Sie ACCESS_TOKEN durch das Zugriffstoken, das Zugriff auf die API gewährt.
Ersetzen Sie die Werte für den Konferenzraum- und Mitgliedernamen durch die eindeutigen, vom Server generierten IDs für den Konferenzraum und das Mitglied.