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

এই নির্দেশিকায় ব্যাখ্যা করা হয়েছে কীভাবে গুগল চ্যাট এপিআই-এর SpaceEvent রিসোর্সের get() মেথড ব্যবহার করে একটি গুগল চ্যাট স্পেসের কোনো ইভেন্টের বিবরণ পাওয়া যায়।

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

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

এই মেথডটি কল করতে হলে, আপনাকে অবশ্যই ইউজার অথেন্টিকেশন ব্যবহার করতে হবে। কোনো ইভেন্ট পেতে হলে, অথেন্টিকেটেড ইউজারকে অবশ্যই সেই স্পেসের সদস্য হতে হবে যেখানে ইভেন্টটি ঘটেছে।

পূর্বশর্ত

নোড.জেএস

পাইথন

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

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

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

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

নোড.জেএস

এই 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() মেথড থেকে ইভেন্টের ধরনটি পেতে পারেন। এই মেথডটি কীভাবে ব্যবহার করতে হয় তা জানতে, "List events from a space" দেখুন।
  • SPACE_NAME : স্পেসটির name থেকে প্রাপ্ত আইডি। আপনি ListSpaces() মেথড কল করে অথবা স্পেসটির URL থেকে আইডিটি পেতে পারেন।
  • SPACE_EVENT_NAME : স্পেস ইভেন্টের name থেকে প্রাপ্ত আইডি। আপনি ListSpaceEvents() মেথড থেকে আইডিটি পেতে পারেন। এই মেথডটি কীভাবে ব্যবহার করতে হয় তা জানতে, "একটি স্পেস থেকে ইভেন্ট তালিকাভুক্ত করুন" দেখুন।

চ্যাট এপিআই ইভেন্টটির বিবরণসহ SpaceEvent এর একটি ইনস্ট্যান্স ফেরত দেয়।

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

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

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

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

একটি স্ক্রিপ্ট লিখুন যা চ্যাট এপিআই কল করে

অ্যাপ অথেন্টিকেশন এবং চ্যাট 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` 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.memberships.readonly",
              "https://www.googleapis.com/auth/chat.app.messages.readonly",
              "https://www.googleapis.com/auth/chat.app.spaces",
              "https://www.googleapis.com/auth/chat.app.spaces.readonly"]
    
    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)
    
        # 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. কোডে নিম্নলিখিতটি প্রতিস্থাপন করুন:

  4. আপনার ওয়ার্কিং ডিরেক্টরিতে, স্যাম্পলটি বিল্ড ও রান করুন:

    python3 chat_spaceevents_get_app.py

চ্যাট এপিআই নতুন সদস্যপদ এবং বার্তা সম্পর্কিত স্পেস ইভেন্টগুলোর একটি পেজিনেটেড তালিকা ফেরত দেয়।