मीटिंग स्पेस के सदस्यों को मैनेज करना

मीटिंग स्पेस का सदस्य वह उपयोगकर्ता होता है जिसे मीटिंग स्पेस में कोई भूमिका दी गई हो. ये उपयोगकर्ता, कनेक्ट करने की अनुमति का अनुरोध किए बिना मीटिंग स्पेस में शामिल हो सकते हैं. इसे "अनुरोध करना" भी कहा जाता है.

मीटिंग आयोजित करने वाले लोग, मीटिंग स्पेस में अपने-आप शामिल हो सकते हैं. हालांकि, आपके पास मीटिंग स्पेस के अन्य सदस्यों को भी बिना अनुरोध भेजे मीटिंग में शामिल होने की अनुमति देने का विकल्प होता है. इसके अलावा, सदस्यों को मीटिंग में Role के तौर पर कॉन्फ़िगर किया जा सकता है. जैसे, COHOST. इससे वे कॉन्फ़्रेंस के दौरान मीटिंग को साथ मिलकर मैनेज कर सकते हैं. हालांकि, वे ऑटो आर्टफ़ैक्ट कॉन्फ़िगर नहीं कर सकते या मॉडरेट करने की सेटिंग में बदलाव नहीं कर सकते. बिना नॉक किए मीटिंग स्पेस को ऐक्सेस करने के बारे में ज़्यादा जानने के लिए, AccessType देखें.

spaces.members संसाधन में name, email, और role फ़ील्ड शामिल हैं.

ध्यान दें कि मीटिंग स्पेस का सदस्य, मीटिंग में हिस्सा लेने वाले व्यक्ति से अलग होता है. मीटिंग में हिस्सा लेने वाला व्यक्ति, कॉल में शामिल होता है या कंपैनियन मोड का इस्तेमाल करता है. इसके अलावा, वह दर्शक के तौर पर शामिल होता है या कॉल से कनेक्ट किए गए रूम डिवाइस का इस्तेमाल करता है. हर व्यक्ति के लिए एक conferenceRecords.participants संसाधन होता है.

मेथड के सामान्य व्यवहार

मीटिंग स्पेस के सदस्यों को मैनेज करने के लिए Meet REST API का इस्तेमाल करते समय, तरीकों में ये नियम लागू होते हैं:

  • पाथ पैरामीटर: हर तरीके में पाथ पैरामीटर का इस्तेमाल किया जाता है. create, list, और batchUpdate तरीकों में, मीटिंग स्पेस (spaces/{space}) का रेफ़रंस देने के लिए parent फ़ील्ड का इस्तेमाल किया जाता है. delete, get, और patch तरीकों में, मीटिंग स्पेस और सदस्य के नाम (spaces/{space}/members/{member}) के हिसाब से नतीजों को फ़िल्टर करने के लिए name फ़ील्ड का इस्तेमाल किया जाता है.

  • लौटाए गए टाइप: create, get, और patch तरीके, Member संसाधन का इंस्टेंस दिखाते हैं. list और batchUpdate तरीके, Member संसाधनों की सूची दिखाते हैं. delete से कोई जवाब नहीं मिलता.

  • फ़ील्ड मास्क: delete को छोड़कर, सभी तरीकों में फ़ील्ड मास्क का इस्तेमाल किया जा सकता है. create, get, और list तरीकों के लिए, SystemParameterContext में fields पैरामीटर का इस्तेमाल करके यह तय किया जा सकता है कि कौनसे फ़ील्ड वापस किए जाएं. fields पैरामीटर को शामिल न करने पर, एपीआई का जवाब डिफ़ॉल्ट रूप से "name,email,role,user" पर सेट हो जाता है. patch और batchUpdate तरीकों के लिए, आपको updateMask का इस्तेमाल करना होगा. इससे यह तय किया जा सकेगा कि किन फ़ील्ड में बदलाव करना है.

  • FieldMask का इस्तेमाल करना: FieldMask, एपीआई कॉल करने वालों के लिए एक ऐसा तरीका है जिससे वे उन फ़ील्ड की सूची बना सकते हैं जिन्हें अनुरोध में वापस भेजना या बदलना चाहिए. यह कॉमा से अलग की गई फ़ील्ड की सूची है. इसका इस्तेमाल करके, किसी ऑब्जेक्ट में सिर्फ़ कुछ फ़ील्ड तय किए जा सकते हैं. साथ ही, अन्य फ़ील्ड में कोई बदलाव नहीं किया जाता. FieldMask का इस्तेमाल करने से, एपीआई को बेवजह काम करने से रोका जा सकता है और परफ़ॉर्मेंस को बेहतर बनाया जा सकता है. फ़ील्ड मास्क के बारे में ज़्यादा जानने के लिए, Google Sheets API का फ़ील्ड मास्क इस्तेमाल करना लेख पढ़ें.

सदस्यता बनाएं

मीटिंग स्पेस में किसी सदस्य को जोड़ने के लिए, spaces.members संसाधन पर create तरीके का इस्तेमाल करें.

नीचे दिए गए कोड सैंपल में, सदस्य बनाने का तरीका बताया गया है:

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"
  }'

ACCESS_TOKEN को उस ऐक्सेस टोकन से बदलें जो एपीआई का ऐक्सेस देता है.

स्पेस के नाम की वैल्यू को, मीटिंग स्पेस के लिए सर्वर से जनरेट किए गए यूनीक आईडी से बदलें.

किसी सदस्य के बारे में जानकारी पाना

किसी सदस्य के बारे में जानकारी वापस पाने के लिए, spaces.members रिसॉर्स पर get तरीके का इस्तेमाल करें.

यहां दिए गए कोड सैंपल में, किसी सदस्य को वापस पाने का तरीका बताया गया है:

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"

ACCESS_TOKEN को उस ऐक्सेस टोकन से बदलें जो एपीआई का ऐक्सेस देता है.

स्पेस के नाम और सदस्य के नाम की वैल्यू को, मीटिंग स्पेस और सदस्य के लिए सर्वर से जनरेट किए गए यूनीक आईडी से बदलें.

सूची सदस्य

मीटिंग स्पेस में शामिल सभी सदस्यों की सूची बनाने के लिए, spaces.members संसाधन पर list तरीके का इस्तेमाल करें.

यहां दिए गए कोड सैंपल में, सदस्यों की सूची बनाने का तरीका बताया गया है:

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"

ACCESS_TOKEN को उस ऐक्सेस टोकन से बदलें जो एपीआई का ऐक्सेस देता है.

स्पेस के नाम की वैल्यू को, मीटिंग स्पेस के लिए सर्वर से जनरेट किए गए यूनीक आईडी से बदलें.

किसी सदस्य की जानकारी अपडेट करना

मीटिंग स्पेस में किसी सदस्य की भूमिका अपडेट करने के लिए, spaces.members संसाधन पर patch तरीके का इस्तेमाल करें.

नीचे दिए गए कोड सैंपल में, किसी सदस्य की जानकारी अपडेट करने का तरीका बताया गया है:

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"
  }'

ACCESS_TOKEN को उस ऐक्सेस टोकन से बदलें जो एपीआई का ऐक्सेस देता है.

स्पेस के नाम और सदस्य के नाम की वैल्यू को, मीटिंग स्पेस और सदस्य के लिए सर्वर से जनरेट किए गए यूनीक आईडी से बदलें.

सदस्यों को बैच अपडेट करें

एक ही अनुरोध में कई सदस्यों की भूमिकाएं अपडेट करने के लिए, spaces.members संसाधन पर batchUpdate तरीके का इस्तेमाल करें.

यहां दिए गए कोड सैंपल में, सदस्यों को बैच में अपडेट करने का तरीका बताया गया है:

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"
  }'

ACCESS_TOKEN को उस ऐक्सेस टोकन से बदलें जो एपीआई का ऐक्सेस देता है.

स्पेस के नाम और सदस्य के नाम की वैल्यू को, मीटिंग स्पेस और सदस्यों के लिए सर्वर से जनरेट किए गए यूनीक आईडी से बदलें.

किसी सदस्य को मिटाना

मीटिंग स्पेस से किसी सदस्य को हटाने के लिए, spaces.members संसाधन पर delete तरीके का इस्तेमाल करें.

यहां दिए गए कोड सैंपल में, किसी सदस्य को मिटाने का तरीका बताया गया है:

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"

ACCESS_TOKEN को उस ऐक्सेस टोकन से बदलें जो एपीआई का ऐक्सेस देता है.

स्पेस के नाम और सदस्य के नाम की वैल्यू को, मीटिंग स्पेस और सदस्य के लिए सर्वर से जनरेट किए गए यूनीक आईडी से बदलें.