একটি Google Chat স্পেস ইভেন্ট সম্পর্কে বিশদ বিবরণ পান

Google Chat স্পেস থেকে একটি ইভেন্ট সম্পর্কে বিশদ বিবরণ পেতে Google Chat API-এর SpaceEvent রিসোর্সে get() পদ্ধতিটি কীভাবে ব্যবহার করবেন তা এই নির্দেশিকা ব্যাখ্যা করে।

SpaceEvent রিসোর্স একটি স্থান বা এর চাইল্ড রিসোর্স যেমন বার্তা, প্রতিক্রিয়া এবং সদস্যপদ পরিবর্তনের প্রতিনিধিত্ব করে। সমর্থিত ইভেন্ট প্রকার সম্পর্কে জানতে, SpaceEvent রিসোর্স রেফারেন্স ডকুমেন্টেশনের eventType ক্ষেত্রটি দেখুন।

আপনি অনুরোধের সময়ের 28 দিন আগে ইভেন্টের জন্য অনুরোধ করতে পারেন। ইভেন্টে পরিবর্তিত সম্পদের সাম্প্রতিকতম সংস্করণ রয়েছে। উদাহরণস্বরূপ, যদি আপনি একটি নতুন বার্তা সম্পর্কে একটি ইভেন্টের অনুরোধ করেন কিন্তু বার্তাটি পরে আপডেট করা হয়, সার্ভারটি ইভেন্ট পেলোডে আপডেট করা Message সংস্থান ফেরত দেয়।

এই পদ্ধতিতে কল করার জন্য, আপনাকে অবশ্যই ব্যবহারকারীর প্রমাণীকরণ ব্যবহার করতে হবে। একটি ইভেন্ট পেতে, প্রমাণীকৃত ব্যবহারকারীকে অবশ্যই সেই স্থানের সদস্য হতে হবে যেখানে ঘটনাটি ঘটেছে৷

পূর্বশর্ত

Node.js

  • Google Chat অ্যাক্সেস সহ একটি ব্যবসা বা এন্টারপ্রাইজ Google Workspace অ্যাকাউন্ট।

পাইথন

  • Google Chat অ্যাক্সেস সহ একটি ব্যবসা বা এন্টারপ্রাইজ Google Workspace অ্যাকাউন্ট।

একটি স্পেস ইভেন্ট সম্পর্কে বিশদ বিবরণ পান (ব্যবহারকারীর প্রমাণীকরণ)

Google Chat-এ একটি স্পেস ইভেন্ট সম্পর্কে বিশদ বিবরণ পেতে, আপনার অনুরোধে নিম্নলিখিতটি পাস করুন:

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

নিম্নলিখিত উদাহরণ একটি স্থান ঘটনা পায়:

Node.js

এই Node.js কোড নমুনা Chat RPC API ব্যবহার করে।

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

// Replace SCOPE_NAME here with an authorization scope based on the event type
const USER_AUTH_OAUTH_SCOPES = ['SCOPE_NAME'];

// This sample shows how to get space event with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(
    USER_AUTH_OAUTH_SCOPES,
  );

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME and SPACE_EVENT_NAME here
    name: 'spaces/SPACE_NAME/spaceEvents/SPACE_EVENT_NAME',
  };

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

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

await main();

এই নমুনা চালানোর জন্য, নিম্নলিখিত প্রতিস্থাপন করুন:

  • SCOPE_NAME : ইভেন্ট প্রকারের উপর ভিত্তি করে একটি অনুমোদনের সুযোগ। উদাহরণস্বরূপ, যদি আপনি একটি নতুন সদস্যতা সম্পর্কে একটি স্পেস ইভেন্ট পেয়ে থাকেন, তাহলে chat.memberships.readonly স্কোপটি ব্যবহার করুন, https://www.googleapis.com/auth/chat.memberships.readonly হিসাবে ফর্ম্যাট করা হয়েছে। আপনি ListSpaceEvents() পদ্ধতি থেকে ইভেন্টের ধরন পেতে পারেন। এই পদ্ধতিটি কীভাবে ব্যবহার করবেন তা শিখতে, একটি স্থান থেকে ইভেন্টের তালিকা দেখুন।
  • SPACE_NAME : স্পেসের name থেকে আইডি। আপনি ListSpaces() পদ্ধতিতে কল করে বা স্পেস এর URL থেকে আইডি পেতে পারেন।
  • SPACE_EVENT_NAME : স্পেস ইভেন্টের name থেকে আইডি। আপনি ListSpaceEvents() পদ্ধতি থেকে আইডি পেতে পারেন। এই পদ্ধতিটি কীভাবে ব্যবহার করবেন তা শিখতে, একটি স্থান থেকে ইভেন্টের তালিকা দেখুন।

চ্যাট API ইভেন্ট সম্পর্কে বিশদ বিবরণ সহ SpaceEvent এর একটি উদাহরণ প্রদান করে।

একটি স্পেস ইভেন্ট সম্পর্কে বিশদ বিবরণ পান (চ্যাট অ্যাপ প্রমাণীকরণ)

অ্যাপ প্রমাণীকরণের জন্য এককালীন প্রশাসকের অনুমোদন প্রয়োজন।

চ্যাট REST API ব্যবহার করে অ্যাপ প্রমাণীকরণ সহ একটি স্পেস থেকে একটি স্পেস ইভেন্ট সম্পর্কে বিশদ পেতে, আপনার অনুরোধে নিম্নলিখিতটি পাস করুন:

  • আপনার অনুরোধে প্রতিটি ইভেন্ট প্রকারকে সমর্থন করার জন্য এক বা একাধিক অনুমোদনের সুযোগ নির্দিষ্ট করুন। একটি সর্বোত্তম অনুশীলন হিসাবে, সর্বাধিক সীমাবদ্ধ সুযোগ বেছে নিন যা এখনও আপনার অ্যাপটিকে কাজ করার অনুমতি দেয়। একটি সুযোগ নির্বাচন সম্পর্কে আরও জানতে, প্রমাণীকরণ এবং অনুমোদন ওভারভিউ দেখুন।
    • https://www.googleapis.com/auth/chat.app.memberships
    • https://www.googleapis.com/auth/chat.app.messages.readonly
    • https://www.googleapis.com/auth/chat.app.spaces
  • spaceEvents রিসোর্সে get পদ্ধতিতে কল করুন।
  • ইভেন্টের বিবরণ পেতে স্থানের name পাস করুন।

একটি API কী তৈরি করুন

একটি বিকাশকারী পূর্বরূপ API পদ্ধতিতে কল করতে, আপনাকে অবশ্যই API আবিষ্কার নথির একটি অ-সর্বজনীন বিকাশকারী পূর্বরূপ সংস্করণ ব্যবহার করতে হবে৷ অনুরোধটি প্রমাণীকরণ করতে, আপনাকে অবশ্যই একটি API কী পাস করতে হবে।

API কী তৈরি করতে, আপনার অ্যাপের Google ক্লাউড প্রকল্পটি খুলুন এবং নিম্নলিখিতগুলি করুন:

  1. Google ক্লাউড কনসোলে, মেনু > APIs & Services > Credentials- এ যান।

    শংসাপত্রে যান

  2. শংসাপত্র তৈরি করুন > API কী ক্লিক করুন।
  3. আপনার নতুন API কী প্রদর্শিত হয়৷
    • আপনার অ্যাপের কোডে ব্যবহারের জন্য আপনার API কী কপি করতে কপি ক্লিক করুন। API কীটি আপনার প্রকল্পের শংসাপত্রের "API কী" বিভাগেও পাওয়া যাবে।
    • অননুমোদিত ব্যবহার রোধ করতে, আমরা কোথায় এবং কোন API-এর জন্য API কী ব্যবহার করা যেতে পারে তা সীমাবদ্ধ করার পরামর্শ দিই। আরও বিশদ বিবরণের জন্য, API সীমাবদ্ধতা যুক্ত করুন দেখুন।

একটি স্ক্রিপ্ট লিখুন যা Chat API কল করে

অ্যাপ প্রমাণীকরণ এবং চ্যাট REST API সহ একটি স্পেস ইভেন্ট সম্পর্কে বিশদ কীভাবে পাবেন তা এখানে রয়েছে:

পাইথন

এই পাইথন কোড নমুনা Chat REST API ব্যবহার করে।

  1. আপনার কাজের ডিরেক্টরিতে, chat_spaceevents_get_app.py নামে একটি ফাইল তৈরি করুন।
  2. chat_spaceevents_get_app.py এ নিম্নলিখিত কোডটি অন্তর্ভুক্ত করুন:

    from google.oauth2 import service_account
    from apiclient.discovery import build
    
    # Define your app's authorization scopes.
    # Set authorization scopes based on the
    # event type. For example, if you are getting a space event
    # about a new membership, use the `chat.app.memberships.readonly` scope.
    #
    # When modifying these scopes, delete the file token.json, if it exists.
    SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships",
              "https://www.googleapis.com/auth/chat.app.messages.readonly",
              "https://www.googleapis.com/auth/chat.app.spaces"]
    
    def main():
        '''
        Authenticates with Chat API using app authentication,
        then lists space events from a specified space.
        '''
    
        # Specify service account details.
        creds = (
            service_account.Credentials.from_service_account_file('credentials.json')
            .with_scopes(SCOPES)
        )
    
        # Build a service endpoint for Chat API.
        chat = build('chat', 'v1', credentials=creds, discoveryServiceUrl='https://chat.googleapis.com/$discovery/rest?version=v1&labels=DEVELOPER_PREVIEW&key=API_KEY')
    
        # Use the service endpoint to call Chat API.
        result = chat.spaces().spaceEvents().get(
    
            # The space to get event details from.
            #
            # Replace SPACE_NAME with a space name.
            # Obtain the space name from the spaces resource of Chat API,
            # or from a space's URL.
            name='spaces/SPACE_NAME/spaceEvents/SPACE_EVENT_NAME',
    
        ).execute()
    
        # Print Chat API's response in your command line interface.
        print(result)
    
    if __name__ == '__main__':
        main()
    
  3. কোডে, নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

    • API_KEY : এপিআই কী যা আপনি চ্যাট API-এর জন্য পরিষেবার শেষ পয়েন্ট তৈরি করতে তৈরি করেছেন।
    • SPACE_NAME : একটি স্থানের নাম, যা আপনি Chat API-এর spaces.list পদ্ধতি থেকে বা একটি স্থানের URL থেকে পেতে পারেন।
    • SPACE_EVENT_NAME : স্পেস ইভেন্টের name থেকে আইডি। আপনি ListSpaceEvents() পদ্ধতি থেকে আইডি পেতে পারেন। এই পদ্ধতিটি কীভাবে ব্যবহার করবেন তা শিখতে, একটি স্থান থেকে ইভেন্টের তালিকা দেখুন।
  4. আপনার কাজের ডিরেক্টরিতে, নমুনা তৈরি করুন এবং চালান:

    python3 chat_spaceevents_get_app.py

চ্যাট এপিআই নতুন সদস্যতা এবং বার্তা সম্পর্কে স্পেস ইভেন্টের পৃষ্ঠাযুক্ত তালিকার একটি তালিকা প্রদান করে।