একটি Google চ্যাট স্পেস তৈরি করুন এবং সদস্য যোগ করুন

এই নির্দেশিকায় গুগল চ্যাট এপিআই-এর Space রিসোর্সের setUp() মেথড ব্যবহার করে কীভাবে একটি চ্যাট স্পেস তৈরি করতে এবং তাতে সদস্য যুক্ত করতে হয়, তা ব্যাখ্যা করা হয়েছে।

Space রিসোর্স হলো এমন একটি স্থান যেখানে ব্যক্তি এবং চ্যাট অ্যাপগুলো বার্তা পাঠাতে, ফাইল শেয়ার করতে এবং একসাথে কাজ করতে পারে। বিভিন্ন ধরনের স্পেস রয়েছে:

  • ডাইরেক্ট মেসেজ (ডিএম) হলো দুইজন ব্যবহারকারীর মধ্যে অথবা একজন ব্যবহারকারী ও একটি চ্যাট অ্যাপের মধ্যে কথোপকথন।
  • গ্রুপ চ্যাট হলো তিন বা ততোধিক ব্যবহারকারীর মধ্যে চ্যাট অ্যাপের মাধ্যমে হওয়া কথোপকথন।
  • নেমড স্পেস হলো এমন স্থায়ী স্থান যেখানে মানুষ বার্তা পাঠায়, ফাইল শেয়ার করে এবং সম্মিলিতভাবে কাজ করে।

আপনি setUp() মেথডটি ব্যবহার করে নিম্নলিখিত যেকোনো কাজ করতে পারেন:

  • প্রাথমিক সদস্যদের নিয়ে একটি নামযুক্ত স্থান তৈরি করুন।
  • দুইজনের মধ্যে একটি সরাসরি বার্তা (DM) তৈরি করুন।
  • একাধিক ব্যক্তির মধ্যে একটি গ্রুপ মেসেজ সেট আপ করুন।

স্থান প্রস্তুত করার সময় নিম্নলিখিত বিষয়গুলো বিবেচনা করুন:

  • কলকারী (প্রমাণিত) ব্যবহারকারী স্বয়ংক্রিয়ভাবে স্পেসটিতে যুক্ত হয়ে যান, তাই অনুরোধে ব্যবহারকারীর সদস্যপদ উল্লেখ করার প্রয়োজন নেই।
  • সরাসরি বার্তা (DM) তৈরি করার সময়, যদি দুই ব্যবহারকারীর মধ্যে আগে থেকেই কোনো DM থাকে, তাহলে সেই DM-টিই ফেরত দেওয়া হয়। অন্যথায়, একটি নতুন DM তৈরি করা হয়।
  • গ্রুপ চ্যাট তৈরি করার সময়, অনুরোধে দেওয়া কোনো সদস্যই যদি সফলভাবে গ্রুপ চ্যাটে যুক্ত না হয় (উদাহরণস্বরূপ, অনুমতির সমস্যার কারণে), তাহলে শুধুমাত্র আহ্বানকারী ব্যবহারকারীকে নিয়ে একটি খালি গ্রুপ চ্যাট তৈরি হতে পারে।
  • আপনি থ্রেডেড রিপ্লাই সহ স্পেস তৈরি করতে পারবেন না বা আপনার গুগল ওয়ার্কস্পেস অর্গানাইজেশনের বাইরের কাউকে যুক্ত করতে পারবেন না।
  • অনুরোধে প্রদত্ত সদৃশ সদস্যপদগুলো (কলিং ব্যবহারকারী সহ) অনুরোধে ত্রুটি দেখানোর পরিবর্তে ফিল্টার করে বাদ দেওয়া হয়।
  • যখন কোনো গুগল ওয়ার্কস্পেস অ্যাডমিনিস্ট্রেটর তাদের সম্পূর্ণ গুগল ওয়ার্কস্পেস অর্গানাইজেশনের জন্য একটি চ্যাট অ্যাপ ইনস্টল করেন , তখন গুগল চ্যাট ইনস্টল করা চ্যাট অ্যাপ এবং অর্গানাইজেশনের প্রতিটি ব্যবহারকারীর মধ্যে একটি ডিএম (ডাইরেক্ট মেসেজ) তৈরি করে দেয়, তাই প্রোগ্রামিংয়ের মাধ্যমে ডিএম সেট আপ করার কোনো প্রয়োজন হয় না। এর পরিবর্তে, সমস্ত ডিএম দেখতে ' লিস্ট স্পেসেস' (list spaces) ব্যবহার করুন অথবা কোনো নির্দিষ্ট ডিএম-এর বিস্তারিত জানতে 'ফাইন্ড এ ডাইরেক্ট মেসেজ' (find a direct message) বিকল্পটি বেছে নিন।

পূর্বশর্ত

নোড.জেএস

পাইথন

জাভা

অ্যাপস স্ক্রিপ্ট

একটি জায়গা তৈরি করুন

একটি স্থান নির্ধারণ করতে, আপনার অনুরোধে নিম্নলিখিত তথ্যগুলো প্রদান করুন:

  • chat.spaces.create অথবা chat.spaces অনুমোদনের পরিধি নির্দিষ্ট করুন।
  • SetUpSpace() মেথডটি কল করুন।
  • space Space এর একটি ইনস্ট্যান্স হিসেবে পাস করুন এবং এর সাথে displayName বা spaceType মতো সমস্ত প্রয়োজনীয় ফিল্ড সংযুক্ত করুন।
  • Membership ইনস্ট্যান্সগুলোর একটি অ্যারে হিসেবে memberships পাস করুন। প্রতিটি ইনস্ট্যান্সের জন্য:
    • কোনো ব্যবহারকারীকে স্পেস সদস্য হিসেবে যুক্ত করতে users/{user} উল্লেখ করুন, যেখানে {user} হলো People API থেকে প্রাপ্ত person {person_id} অথবা Directory API-এর কোনো user আইডি। উদাহরণস্বরূপ, যদি People API-এর ব্যক্তি resourceName হয় people/123456789 , তাহলে আপনি member.name হিসেবে users/123456789 সহ একটি মেম্বারশিপ অন্তর্ভুক্ত করে ব্যবহারকারীকে স্পেসে যুক্ত করতে পারেন।
    • একটি গ্রুপকে স্পেস সদস্য হিসেবে যুক্ত করতে groups/{group} উল্লেখ করুন, যেখানে {group} হলো সেই গ্রুপ আইডি যার জন্য আপনি সদস্যপদ তৈরি করতে চান। ক্লাউড আইডেন্টিটি এপিআই (Cloud Identity API ) ব্যবহার করে গ্রুপটির আইডি পাওয়া যায়। উদাহরণস্বরূপ, যদি ক্লাউড আইডেন্টিটি এপিআই groups/123456789 নামের একটি গ্রুপ ফেরত দেয়, তাহলে membership.groupMember.name groups/123456789 এ সেট করুন। গুগল গ্রুপস কোনো গ্রুপ চ্যাট বা ডিএম-এ যুক্ত করা যায় না, শুধুমাত্র একটি নেমড স্পেসে যুক্ত করা যায়।

আহ্বানকারী ব্যবহারকারী এবং অন্য কোনো ব্যবহারকারীর মধ্যে একটি ডাইরেক্ট মেসেজ (DM) তৈরি করতে, আপনার অনুরোধে ওই ব্যবহারকারীর সদস্যপদ উল্লেখ করুন।

কলিং ব্যবহারকারী এবং কলিং অ্যাপের মধ্যে একটি DM তৈরি করতে, space.singleUserBotDm true তে সেট করুন এবং কোনো মেম্বারশিপ নির্দিষ্ট করবেন না। আপনি শুধুমাত্র কলিং অ্যাপের সাথে একটি DM সেট আপ করার জন্য এই পদ্ধতিটি ব্যবহার করতে পারবেন। কোনো স্পেসের সদস্য হিসেবে অথবা দুজন মানুষের মধ্যে বিদ্যমান কোনো DM-এ কলিং অ্যাপকে যুক্ত করতে, 'ক্রিয়েট এ মেম্বারশিপ' দেখুন।

নিম্নলিখিত উদাহরণটি একটি নামযুক্ত স্পেস তৈরি করে এবং সেই স্পেসে দুজন ব্যবহারকারীর (প্রমাণিত ব্যবহারকারী এবং অন্য একজন ব্যবহারকারী) জন্য একটি সদস্যপদ তৈরি করে।

নোড.জেএস

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);
}

await main();

পাইথন

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()

জাভা

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));
    }
  }
}

অ্যাপস স্ক্রিপ্ট

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 : অন্য ব্যবহারকারীর আইডি, যার সদস্যপদ অন্তর্ভুক্ত করতে হবে।

স্পেসে যাওয়ার জন্য, স্পেসটির রিসোর্স আইডি ব্যবহার করে স্পেসটির ইউআরএল তৈরি করুন। আপনি গুগল চ্যাট রেসপন্স বডিতে থাকা স্পেসের name থেকে রিসোর্স আইডিটি পেতে পারেন। উদাহরণস্বরূপ, যদি আপনার স্পেসের name spaces/1234567 হয়, তাহলে আপনি নিম্নলিখিত ইউআরএলটি ব্যবহার করে স্পেসটিতে যেতে পারবেন: https://mail.google.com/chat/u/0/#chat/space/1234567