একটি Google চ্যাট স্পেস থেকে ইভেন্টের তালিকা করুন

এই নির্দেশিকা ব্যাখ্যা করে যে কীভাবে Google Chat API-এর SpaceEvent রিসোর্সে list পদ্ধতি ব্যবহার করতে হয় একটি স্পেসে রিসোর্সে পরিবর্তনের তালিকা করতে।

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

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

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

পূর্বশর্ত

পাইথন

  • পাইথন 3.6 বা তার বেশি
  • পাইপ প্যাকেজ ম্যানেজমেন্ট টুল
  • পাইথনের জন্য সর্বশেষ Google ক্লায়েন্ট লাইব্রেরি। এগুলি ইনস্টল বা আপডেট করতে, আপনার কমান্ড-লাইন ইন্টারফেসে নিম্নলিখিত কমান্ডটি চালান:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • Google Chat API সক্ষম এবং কনফিগার করা একটি Google ক্লাউড প্রকল্প। ধাপগুলির জন্য, একটি Google Chat অ্যাপ তৈরি করুন দেখুন।
  • চ্যাট অ্যাপের জন্য অনুমোদন কনফিগার করা হয়েছে। SpaceEvent সংস্থানগুলি তালিকাভুক্ত করা নিম্নলিখিত প্রমাণীকরণ পদ্ধতিগুলিকে সমর্থন করে:

স্থান ঘটনা তালিকা

চ্যাট স্পেস থেকে স্পেস ইভেন্ট তালিকাভুক্ত করতে, নিম্নলিখিতগুলি করুন:

  • SpaceEvent ইভেন্ট রিসোর্সে list পদ্ধতিতে কল করুন।
  • filter ক্ষেত্র ব্যবহার করে কোন ইভেন্টের প্রকারগুলি তালিকাভুক্ত করতে হবে তা নির্দিষ্ট করুন৷ আপনাকে অবশ্যই কমপক্ষে একটি ইভেন্টের ধরণ নির্দিষ্ট করতে হবে এবং আপনি তারিখ অনুসারে ফিল্টারও করতে পারেন৷ সমর্থিত ইভেন্ট প্রকারের তালিকার জন্য, eventType ক্ষেত্র দেখুন।
  • ব্যবহারকারীর প্রমাণীকরণের সাথে, আপনার অনুরোধে প্রতিটি ইভেন্ট প্রকারকে সমর্থন করার জন্য এক বা একাধিক অনুমোদনের সুযোগ নির্দিষ্ট করুন। একটি সর্বোত্তম অনুশীলন হিসাবে, সর্বাধিক সীমাবদ্ধ সুযোগ বেছে নিন যা এখনও আপনার অ্যাপটিকে কাজ করার অনুমতি দেয়। একটি সুযোগ নির্বাচন করতে, প্রমাণীকরণ এবং অনুমোদন ওভারভিউ দেখুন।

নিম্নলিখিত কোড নমুনায়, আপনি একটি স্পেসে নতুন সদস্যতা এবং বার্তা সম্পর্কে ইভেন্টগুলি তালিকাভুক্ত করেন৷

পাইথন

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

    """Lists SpaceEvent resources from the Chat API."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Define your app's authorization scopes.
    # When modifying these scopes, delete the file token.json, if it exists.
    SCOPES = ["https://www.googleapis.com/auth/chat.memberships.readonly",
    "https://www.googleapis.com/auth/chat.messages.readonly"]
    
    # Authenticate with Google Workspace
    # and get user authorization.
    flow = InstalledAppFlow.from_client_secrets_file(
                'client_secrets.json', SCOPES)
    creds = flow.run_local_server()
    
    # 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().list(
    
        # The space from which to list events.
        #
        # Replace SPACE with a space name.
        # Obtain the space name from the spaces resource of Chat API,
        # or from a space's URL.
        parent='spaces/SPACE',
    
        # A required filter. Filters and returns events about new memberships and messages
        filter='event_types:"google.workspace.chat.membership.v1.created" OR event_types:"google.workspace.chat.message.v1.created"'
    
    ).execute()
    
    # Prints details about the created space events.
    print(result)
    
  3. কোডে, নিম্নলিখিতগুলি প্রতিস্থাপন করুন:

    • SPACE : একটি স্থানের নাম, যা আপনি Chat API-এর spaces.list পদ্ধতি থেকে বা একটি স্থানের URL থেকে পেতে পারেন।
  4. আপনার কাজের ডিরেক্টরিতে, নমুনা তৈরি করুন এবং চালান:

    python3 chat_space_event_list.py
    

Chat API নতুন সদস্যতা এবং বার্তা সম্পর্কে SpaceEvent সংস্থান ইভেন্টগুলির একটি তালিকা প্রদান করে।

পেজিনেশন কাস্টমাইজ করুন

ঐচ্ছিকভাবে, পেজিনেশন কাস্টমাইজ করতে নিম্নলিখিত ক্যোয়ারী প্যারামিটারগুলি পাস করুন:

  • pageSize : SpaceEvent রিসোর্সের সর্বোচ্চ সংখ্যা ফেরত দিতে হবে। পরিষেবাটি এই মানের থেকে কম ফেরত দিতে পারে। নেতিবাচক মান একটি INVALID_ARGUMENT ত্রুটি প্রদান করে৷
  • pageToken : একটি পৃষ্ঠা টোকেন, পূর্ববর্তী তালিকা স্পেস ইভেন্ট কল থেকে প্রাপ্ত। পরবর্তী পৃষ্ঠাটি পুনরুদ্ধার করতে এই টোকেনটি প্রদান করুন। পেজিনেট করার সময়, ফিল্টারের মানটি সেই কলের সাথে মেলে যা পৃষ্ঠা টোকেন প্রদান করে। একটি ভিন্ন মান পাস অপ্রত্যাশিত ফলাফল হতে পারে.