Toplantı alanı üyesi, toplantı alanında bir rolü olacak şekilde yapılandırılmış bir kullanıcıdır. Bu kullanıcılar, toplantı alanına bağlanma izni istemeden (diğer adıyla "kapıyı çalmadan") katılabilir.
Toplantıyı düzenleyenler toplantı alanına otomatik olarak girebilir. Ayrıca, ek toplantı alanı üyelerinin katılım isteği göndermeden toplantıya katılmasını da sağlayabilirsiniz.
Ayrıca, üyeler toplantıda COHOST gibi �Role olarak yapılandırılabilir. Bu sayede, konferans sırasında toplantıyı birlikte yönetebilirler ancak otomatik yapay içerikleri yapılandıramaz veya moderasyon ayarlarını değiştiremezler. Toplantı alanına kapıyı çalmadan erişme hakkında daha fazla bilgi için AccessType başlıklı makaleyi inceleyin.
spaces.members
kaynağı name, email ve role alanlarını içerir.
Toplantı alanı üyesinin katılımcıdan farklı olduğunu unutmayın. Katılımcı, bir görüşmeye katılan veya Tamamlayıcı Mod'u kullanan, izleyici olarak izleyen ya da bir görüşmeye bağlı olan oda cihazıdır. Her kişi için bir
conferenceRecords.participants
kaynak vardır.
Sık kullanılan yöntem davranışları
Meet REST API'yi kullanarak toplantı alanı üyelerini yönetirken yöntemler aşağıdaki kurallara uyar:
Yol parametreleri: Her yöntemde bir yol parametresi kullanılır.
create,listvebatchUpdateyöntemlerinde toplantı alanına (spaces/{space}) atıfta bulunmak içinparentalanı kullanılır.delete,getvepatchyöntemlerinde ise sonuçları toplantı alanına ve üye adına (spaces/{space}/members/{member}) göre filtrelemek içinnamealanı kullanılır.Dönüş türleri:
create,getvepatchyöntemleri,Memberkaynağının bir örneğini döndürür.listvebatchUpdateyöntemleri,Memberkaynaklarının listesini döndürür (deleteboş bir yanıt gövdesi döndürür).Alan maskeleri:
deletedışındaki tüm yöntemler alan maskesini destekler.create,getvelistyöntemleri için, hangi alanların döndürüleceğini belirtmek üzere SystemParameterContext içindefieldsparametresini kullanabilirsiniz.fieldsparametresini atladığınızda API yanıtı varsayılan olarak"name,email,role,user"olur.patchvebatchUpdateyöntemlerinde, hangi alanların değiştirileceğini belirtmek içinupdateMaskkullanırsınız.FieldMask kullanma: A
FieldMaskAPI çağrılarını yapanların, bir isteğin döndürmesi veya değiştirmesi gereken alanları listelemesinin bir yoludur. Bu, bir nesnede yalnızca belirli alanların kullanılmasını ve diğer alanların değiştirilmemesini sağlamak için virgülle ayrılmış bir alan listesidir.FieldMaskkullanmak, API'nin gereksiz iş yapmasını önler ve performansı artırır. Alan maskeleri hakkında daha fazla bilgi için Google Sheets API'nin Alan maskelerini kullanma başlıklı makalesine bakın.
Üye oluşturma
Toplantı alanına üye eklemek için spaces.members kaynağında create yöntemini kullanın.
Aşağıdaki kod örneğinde üyenin nasıl oluşturulacağı gösterilmektedir:
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 Komut Dosyası
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"
}'
ACCESS_TOKEN kısmını API'ye erişim izni veren erişim jetonuyla değiştirin.
Alan adı değerini, toplantı alanı için sunucu tarafından oluşturulan benzersiz kimlikle değiştirin.
Üyeler hakkında ayrıntılı bilgi edinme
Belirli bir üye hakkında ayrıntıları almak için spaces.members kaynağında get yöntemini kullanın.
Aşağıdaki kod örneğinde, bir üyenin nasıl alınacağı gösterilmektedir:
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 Komut Dosyası
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"
ACCESS_TOKEN kısmını API'ye erişim izni veren erişim jetonuyla değiştirin.
Alan adı ve üye adı değerlerini, toplantı alanı ve üye için benzersiz sunucu tarafından oluşturulan kimliklerle değiştirin.
Liste üyeleri
Bir toplantı alanındaki tüm üyeleri listelemek için spaces.members kaynağında list yöntemini kullanın.
Aşağıdaki kod örneğinde üyelerin nasıl listeleneceği gösterilmektedir:
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 Komut Dosyası
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"
ACCESS_TOKEN kısmını API'ye erişim izni veren erişim jetonuyla değiştirin.
Alan adı değerini, toplantı alanı için sunucu tarafından oluşturulan benzersiz kimlikle değiştirin.
Üyeyi güncelleme
Toplantı alanında bir üyenin rolünü güncellemek için spaces.members kaynağında patch yöntemini kullanın.
Aşağıdaki kod örneğinde, üyenin nasıl güncelleneceği gösterilmektedir:
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 Komut Dosyası
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"
}'
ACCESS_TOKEN kısmını API'ye erişim izni veren erişim jetonuyla değiştirin.
Alan adı ve üye adı değerlerini, toplantı alanı ve üye için benzersiz sunucu tarafından oluşturulan kimliklerle değiştirin.
Üyeleri toplu güncelleme
Tek bir istekte birden fazla üyenin rollerini güncellemek için spaces.members kaynağında batchUpdate yöntemini kullanın.
Aşağıdaki kod örneğinde, üyelerin toplu olarak nasıl güncelleneceği gösterilmektedir:
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 Komut Dosyası
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"
}'
ACCESS_TOKEN kısmını API'ye erişim izni veren erişim jetonuyla değiştirin.
Alan adı ve üye adı değerlerini, toplantı alanı ve üyeler için benzersiz sunucu tarafından oluşturulan kimliklerle değiştirin.
Üye silme
Bir üyeyi toplantı alanından kaldırmak için spaces.members kaynağında delete yöntemini kullanın.
Aşağıdaki kod örneğinde bir üyenin nasıl silineceği gösterilmektedir:
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 Komut Dosyası
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"
ACCESS_TOKEN kısmını API'ye erişim izni veren erişim jetonuyla değiştirin.
Alan adı ve üye adı değerlerini, toplantı alanı ve üye için benzersiz sunucu tarafından oluşturulan kimliklerle değiştirin.