Google Chat में स्पेस बनाना और उसमें सदस्य जोड़ना

इस गाइड में, Chat स्पेस बनाने और उसमें सदस्यों को जोड़ने के लिए, Google Chat API के Space संसाधन पर setUp() तरीके का इस्तेमाल करने का तरीका बताया गया है.

Space संसाधन एक ऐसी जगह होती है जहां लोग और Chat ऐप्लिकेशन, मैसेज भेज सकते हैं, फ़ाइलें शेयर कर सकते हैं, और साथ मिलकर काम कर सकते हैं. स्पेस कई तरह के होते हैं:

  • डायरेक्ट मैसेज (डीएम), दो उपयोगकर्ताओं या किसी उपयोगकर्ता और Chat ऐप्लिकेशन के बीच की बातचीत होती है.
  • ग्रुप चैट, तीन या उससे ज़्यादा लोगों और चैट ऐप्लिकेशन के बीच होने वाली बातचीत होती है.
  • नाम वाले स्पेस, ऐसी जगहें होती हैं जहां लोग मैसेज भेजते हैं, फ़ाइलें शेयर करते हैं, और साथ मिलकर काम करते हैं.

setUp() तरीके का इस्तेमाल करके, इनमें से कोई भी काम किया जा सकता है:

  • शुरुआती सदस्यों के साथ कोई स्पेस बनाएं.
  • दो लोगों के बीच डायरेक्ट मैसेज (डीएम) बनाएं.
  • एक से ज़्यादा लोगों के साथ ग्रुप मैसेज की सुविधा सेट अप करें.

स्पेस सेट अप करते समय, इन बातों का ध्यान रखें:

  • कॉल करने वाला (प्रमाणित) उपयोगकर्ता, स्पेस में अपने-आप जुड़ जाता है. इसलिए, आपको अनुरोध में उपयोगकर्ता की सदस्यता के बारे में बताने की ज़रूरत नहीं है.
  • डायरेक्ट मैसेज (डीएम) बनाते समय, अगर दो लोगों के बीच कोई डीएम मौजूद है, तो डीएम वापस भेज दिया जाता है. ऐसा न होने पर, डीएम बनाया जाता है.
  • ग्रुप चैट बनाते समय, अगर अनुरोध में दी गई किसी भी सदस्यता को ग्रुप चैट में नहीं जोड़ा जाता है (उदाहरण के लिए, अनुमति से जुड़ी समस्या), तो एक खाली ग्रुप चैट बनाई जा सकती है. इसमें सिर्फ़ कॉल करने वाला उपयोगकर्ता शामिल होगा.
  • थ्रेड वाले जवाबों की सुविधा के साथ स्पेस सेट अप नहीं किए जा सकते. इसके अलावा, Google Workspace संगठन से बाहर के लोगों को भी नहीं जोड़ा जा सकता.
  • अनुरोध में शामिल डुप्लीकेट सदस्यताएं (कॉल करने वाले उपयोगकर्ता की सदस्यता भी शामिल है) फ़िल्टर कर दी जाती हैं. इससे अनुरोध में गड़बड़ी नहीं होती.
  • जब कोई Google Workspace एडमिन अपने पूरे Google Workspace संगठन के लिए Chat ऐप्लिकेशन इंस्टॉल करता है, तो Google Chat, इंस्टॉल किए गए Chat ऐप्लिकेशन और संगठन के हर उपयोगकर्ता के बीच एक डीएम बनाता है. इसलिए, प्रोग्राम के हिसाब से डीएम सेट अप करने की ज़रूरत नहीं होती. इसके बजाय, सभी डीएम देखने के लिए स्पेस की सूची बनाएं या किसी खास डीएम के बारे में जानकारी पाने के लिए कोई डायरेक्ट मैसेज ढूंढें.

ज़रूरी शर्तें

Node.js

  • आपके पास Business या Enterprise वर्शन वाला Google Workspace खाता होना चाहिए. साथ ही, आपके पास Google Chat को ऐक्सेस करने की अनुमति होनी चाहिए.

Python

  • आपके पास Business या Enterprise वर्शन वाला Google Workspace खाता होना चाहिए. साथ ही, आपके पास Google Chat को ऐक्सेस करने की अनुमति होनी चाहिए.

Java

  • आपके पास Business या Enterprise वर्शन वाला Google Workspace खाता होना चाहिए. साथ ही, आपके पास Google Chat को ऐक्सेस करने की अनुमति होनी चाहिए.

Apps Script

  • आपके पास Business या Enterprise वर्शन वाला Google Workspace खाता होना चाहिए. साथ ही, आपके पास Google Chat को ऐक्सेस करने की अनुमति होनी चाहिए.

स्पेस सेट अप करना

स्पेस सेट अप करने के लिए, अपने अनुरोध में यह जानकारी शामिल करें:

  • chat.spaces.create या chat.spaces ऑथराइज़ेशन स्कोप के बारे में बताएं.
  • SetUpSpace() तरीके को कॉल करें.
  • space को Space के इंस्टेंस के तौर पर पास करें. साथ ही, displayName या spaceType जैसे सभी ज़रूरी फ़ील्ड शामिल करें.
  • memberships को Membership इंस्टेंस की एक श्रेणी के तौर पर पास करें. हर उदाहरण के लिए:
    • स्पेस में किसी व्यक्ति को सदस्य के तौर पर जोड़ने के लिए, users/{user} तय करें. इसमें {user}, People API से मिले person का {person_id} या Directory API में मौजूद user का आईडी होता है. उदाहरण के लिए, अगर People API में मौजूद व्यक्ति resourceName की वैल्यू people/123456789 है, तो उस व्यक्ति को स्पेस में जोड़ा जा सकता है. इसके लिए, आपको users/123456789 को member.name के तौर पर शामिल करके सदस्यता जोड़नी होगी.
    • किसी ग्रुप को स्पेस के सदस्य के तौर पर जोड़ने के लिए, groups/{group} तय करें. यहां {group} वह ग्रुप आईडी है जिसके लिए आपको सदस्यता बनानी है. ग्रुप का आईडी पाने के लिए, Cloud Identity API का इस्तेमाल किया जा सकता है. उदाहरण के लिए, अगर Cloud Identity API, groups/123456789 नाम वाला ग्रुप दिखाता है, तो membership.groupMember.name को groups/123456789 पर सेट करें. Google ग्रुप को ग्रुप चैट या डीएम में नहीं जोड़ा जा सकता. हालांकि, उन्हें नाम वाले स्पेस में जोड़ा जा सकता है.

कॉल करने वाले उपयोगकर्ता और किसी अन्य व्यक्ति के बीच डायरेक्ट मैसेज (डीएम) बनाने के लिए, अपने अनुरोध में उस व्यक्ति की सदस्यता के बारे में बताएं.

कॉल करने वाले व्यक्ति और कॉल करने वाले ऐप्लिकेशन के बीच डीएम बनाने के लिए, space.singleUserBotDm को true पर सेट करें. साथ ही, कोई भी सदस्यता तय न करें. इस तरीके का इस्तेमाल सिर्फ़ कॉलिंग ऐप्लिकेशन के साथ डीएम सेट अप करने के लिए किया जा सकता है. कॉलिंग ऐप्लिकेशन को किसी स्पेस या दो लोगों के बीच मौजूद डीएम के सदस्य के तौर पर जोड़ने के लिए, सदस्यता बनाएं लेख पढ़ें.

यहां दिए गए उदाहरण में, नाम वाला एक स्पेस बनाया गया है. साथ ही, दो लोगों के लिए स्पेस की सदस्यता बनाई गई है. इनमें से एक, पुष्टि किया गया उपयोगकर्ता है और दूसरा कोई अन्य उपयोगकर्ता है.

Node.js

chat/client-libraries/cloud/set-up-space-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.spaces.create'];

// This sample shows how to set up a named space with one initial member
// with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    space: {
      spaceType: 'SPACE',
      // Replace DISPLAY_NAME here.
      displayName: 'DISPLAY_NAME'
    },
    memberships: [{
      member: {
        // Replace USER_NAME here.
        name: 'users/USER_NAME',
        type: 'HUMAN'
      }
    }]
  };

  // Make the request
  const response = await chatClient.setUpSpace(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

Python

chat/client-libraries/cloud/set_up_space_user_cred.py
from authentication_utils import create_client_with_user_credentials
from google.apps import chat_v1 as google_chat

SCOPES = ["https://www.googleapis.com/auth/chat.spaces.create"]

def set_up_space_with_user_cred():
    # Create a client
    client = create_client_with_user_credentials(SCOPES)

    # Initialize request argument(s)
    request = google_chat.SetUpSpaceRequest(
        space = {
            "space_type": 'SPACE',
            # Replace DISPLAY_NAME here.
            "display_name": 'DISPLAY_NAME'
        },
        memberships = [{
            "member": {
                # Replace USER_NAME here.
                "name": 'users/USER_NAME',
                "type_": 'HUMAN'
            }
        }]
    )

    # Make the request
    response = client.set_up_space(request)

    # Handle the response
    print(response)

set_up_space_with_user_cred()

Java

chat/client-libraries/cloud/src/main/java/com/google/workspace/api/chat/samples/SetUpSpaceUserCred.java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.Membership;
import com.google.chat.v1.SetUpSpaceRequest;
import com.google.chat.v1.Space;
import com.google.chat.v1.User;

// This sample shows how to set up a named space with one initial member with
// user credential.
public class SetUpSpaceUserCred {

  private static final String SCOPE =
    "https://www.googleapis.com/auth/chat.spaces.create";

  public static void main(String[] args) throws Exception {
    try (ChatServiceClient chatServiceClient =
        AuthenticationUtils.createClientWithUserCredentials(
          ImmutableList.of(SCOPE))) {
      SetUpSpaceRequest.Builder request = SetUpSpaceRequest.newBuilder()
        .setSpace(Space.newBuilder()
          .setSpaceType(Space.SpaceType.SPACE)
          // Replace DISPLAY_NAME here.
          .setDisplayName("DISPLAY_NAME"))
        .addAllMemberships(ImmutableList.of(Membership.newBuilder()
          .setMember(User.newBuilder()
            // Replace USER_NAME here.
            .setName("users/USER_NAME")
            .setType(User.Type.HUMAN)).build()));
      Space response = chatServiceClient.setUpSpace(request.build());

      System.out.println(JsonFormat.printer().print(response));
    }
  }
}

Apps Script

chat/advanced-service/Main.gs
/**
 * This sample shows how to set up a named space with one initial member with
 * user credential.
 * 
 * It relies on the OAuth2 scope 'https://www.googleapis.com/auth/chat.spaces.create'
 * referenced in the manifest file (appsscript.json).
 */
function setUpSpaceUserCred() {
  // Initialize request argument(s)
  const space = {
    spaceType: 'SPACE',
    // TODO(developer): Replace DISPLAY_NAME here
    displayName: 'DISPLAY_NAME'
  };
  const memberships = [{
    member: {
      // TODO(developer): Replace USER_NAME here
      name: 'users/USER_NAME',
      // User type for the membership
      type: 'HUMAN'
    }
  }];

  // Make the request
  const response = Chat.Spaces.setup({ space: space, memberships: memberships });

  // Handle the response
  console.log(response);
}

सैंपल चलाने के लिए, इनकी जगह ये डालें:

  • DISPLAY_NAME: नए स्पेस का डिसप्ले नेम.
  • USER_NAME: उस दूसरे उपयोगकर्ता का आईडी जिसके लिए सदस्यता शामिल करनी है.

स्पेस पर जाने के लिए, स्पेस के संसाधन आईडी का इस्तेमाल करके स्पेस का यूआरएल बनाएं. आपको संसाधन आईडी, Google Chat के जवाब के मुख्य हिस्से में मौजूद स्पेस name से मिल सकता है. उदाहरण के लिए, अगर आपके स्पेस का name spaces/1234567 है, तो इस यूआरएल का इस्तेमाल करके स्पेस पर जाएं: https://mail.google.com/chat/u/0/#chat/space/1234567.