Google Workspace Events API ব্যবহার করে ইভেন্টে সদস্যতা নিন

এই পৃষ্ঠায় গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই (Google Workspace Events API)-এর একটি সংক্ষিপ্ত বিবরণ দেওয়া হয়েছে এবং গুগল ওয়ার্কস্পেস জুড়ে ইভেন্টগুলিতে সাবস্ক্রাইব করার জন্য কীভাবে এই এপিআই ব্যবহার করতে হয়, তা ব্যাখ্যা করা হয়েছে।

গুগল ওয়ার্কস্পেস ইভেন্টগুলি গুগল ওয়ার্কস্পেস রিসোর্সের পরিবর্তনগুলিকে নির্দেশ করে, যেমন যখন রিসোর্স তৈরি, আপডেট বা মুছে ফেলা হয়। একটি গুগল ওয়ার্কস্পেস রিসোর্সে সাবস্ক্রাইব করতে এবং প্রাসঙ্গিক ইভেন্টগুলি পেতে গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই ব্যবহার করুন।

আপনার অ্যাপ কীভাবে ইভেন্ট গ্রহণ করে

আপনার অ্যাপকে গুগল ওয়ার্কস্পেস ইভেন্ট গ্রহণ করার সুযোগ দিতে, গুগল ওয়ার্কস্পেস রিসোর্সের সাবস্ক্রিপশন তৈরি করার জন্য গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই ব্যবহার করুন।

গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই কীভাবে ইভেন্ট সরবরাহ করে তার চিত্র।
চিত্র ১. গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই কীভাবে একটি গুগল চ্যাট অ্যাপে ইভেন্ট সরবরাহ করে তার উদাহরণ।

নিম্নলিখিত উদাহরণে বর্ণনা করা হয়েছে কিভাবে গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই একটি সাবস্ক্রিপশনের মাধ্যমে চ্যাট অ্যাপে ইভেন্ট সরবরাহ করে:

  1. একটি চ্যাট অ্যাপ একটি গুগল চ্যাট স্পেস সাবস্ক্রাইব করে।
  2. চ্যাট স্পেসটি পরিবর্তিত হয়। যেমন, স্পেসটিতে একটি নতুন বার্তা পোস্ট করা হয়।
  3. চ্যাট গুগল ক্লাউড পাব/সাব- এর একটি টপিকে একটি ইভেন্ট পাঠায়, যা সাবস্ক্রিপশনটির জন্য নোটিফিকেশন এন্ডপয়েন্ট হিসেবে কাজ করে। ইভেন্টটিতে কী পরিবর্তন হয়েছে সে সম্পর্কিত ডেটা থাকে। উদাহরণস্বরূপ, একটি নতুন মেসেজ সম্পর্কিত ইভেন্টে, তৈরি হওয়া Message রিসোর্সটির বিবরণ থাকে।
  4. চ্যাট অ্যাপটি ইভেন্ট সম্বলিত গুগল ক্লাউড পাব/সাব বার্তাটি প্রক্রিয়া করে এবং প্রয়োজনে ব্যবস্থা গ্রহণ করে।

গুরুত্বপূর্ণ পরিভাষা

গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই-তে ব্যবহৃত সাধারণ পরিভাষাগুলোর মধ্যে রয়েছে:

গুগল ওয়ার্কস্পেস ইভেন্ট

গুগল ওয়ার্কস্পেস রিসোর্সের কোনো পরিবর্তন। ইভেন্টগুলো ক্লাউডইভেন্টস স্পেসিফিকেশন ব্যবহার করে ফরম্যাট করা হয় এবং এগুলো সাবস্ক্রিপশন ইভেন্ট বা লাইফসাইকেল ইভেন্ট হতে পারে।

সাবস্ক্রিপশন ইভেন্ট
আপনি যে Google Workspace রিসোর্সটি পর্যবেক্ষণ করছেন, তাতে কোনো পরিবর্তন, যেমন একটি চ্যাট স্পেসে নতুন বার্তা। পরিবর্তিত রিসোর্সটি সম্পর্কে আপনি কতটা বিস্তারিত তথ্য পেতে চান, তা নির্দিষ্ট করে দিতে পারেন। বিস্তারিত জানতে, Google Workspace ইভেন্টের কাঠামো দেখুন।
জীবনচক্রের ঘটনা
আপনার গুগল ওয়ার্কস্পেস সাবস্ক্রিপশন সম্পর্কিত একটি ইভেন্ট। লাইফসাইকেল ইভেন্টগুলো আপনাকে বিভিন্ন সমস্যা এবং আপনার সাবস্ক্রিপশনের অবস্থা সম্পর্কে অবহিত করে, যাতে আপনি সাবস্ক্রিপশন ইভেন্টগুলো এড়িয়ে না যান। ডিফল্টরূপে, আপনার সাবস্ক্রিপশন সর্বদা লাইফসাইকেল ইভেন্টগুলো পেয়ে থাকে। বিস্তারিত জানতে, গুগল ওয়ার্কস্পেস সাবস্ক্রিপশনের জন্য লাইফসাইকেল ইভেন্টগুলো দেখুন।
গুগল ওয়ার্কস্পেস সাবস্ক্রিপশন

একটি নামযুক্ত সত্তা যা একটি গুগল ওয়ার্কস্পেস অ্যাপ্লিকেশন থেকে কোনো রিসোর্স পর্যবেক্ষণ করে। একটি সাবস্ক্রিপশন একটি Subscription রিসোর্স দ্বারা প্রতিনিধিত্ব করা হয়। একটি সাবস্ক্রিপশন নিম্নলিখিত তথ্য দ্বারা সংজ্ঞায়িত করা হয়:

লক্ষ্য সম্পদ
যে গুগল ওয়ার্কস্পেস রিসোর্সটি আপনি মনিটর করতে চান। এই রিসোর্সটি গুগল ওয়ার্কস্পেস সাবস্ক্রিপশনের targetResource ফিল্ডে দেখানো থাকে। প্রতিটি সাবস্ক্রিপশন শুধুমাত্র একটি রিসোর্স মনিটর করতে পারে। গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই কোন কোন গুগল ওয়ার্কস্পেস রিসোর্স সমর্থন করে তা দেখতে, 'সমর্থিত গুগল ওয়ার্কস্পেস ইভেন্টস' দেখুন।
ইভেন্টের প্রকারভেদ
নির্দিষ্ট রিসোর্সের জন্য আপনি কোন ধরনের পরিবর্তন সম্পর্কে বিজ্ঞপ্তি পেতে চান। উদাহরণস্বরূপ, আপনি যদি একটি চ্যাট স্পেসে সাবস্ক্রাইব করে থাকেন, তাহলে আপনি সেই স্পেস এবং এর অধীনস্থ রিসোর্স, যেমন মেম্বারশিপ ও মেসেজ সম্পর্কিত ইভেন্টগুলো গ্রহণ করবেন কিনা তা বেছে নিতে পারেন।
নোটিফিকেশন এন্ডপয়েন্ট
যে এন্ডপয়েন্টে গুগল ওয়ার্কস্পেস সাবস্ক্রিপশন ইভেন্ট গ্রহণ করে। গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই একটি নোটিফিকেশন এন্ডপয়েন্ট হিসেবে গুগল ক্লাউড পাব/সাব টপিক সমর্থন করে। গুগল ক্লাউড পাব/সাব ব্যবহার সম্পর্কে আরও জানতে, গুগল ক্লাউড পাব/সাব ডকুমেন্টেশন দেখুন।
পেলোড বিকল্পগুলি
পরিবর্তিত রিসোর্স সম্পর্কে আপনি যে ইভেন্ট ডেটা পেতে চান।

সমর্থিত গুগল ওয়ার্কস্পেস ইভেন্ট

আপনার অ্যাপ কোন কোন ইভেন্ট গ্রহণ করতে পারবে, তা আপনার সাবস্ক্রিপশনের টার্গেট রিসোর্সের উপর নির্ভর করে। নিচের সারণিতে প্রতিটি সম্ভাব্য টার্গেট রিসোর্সের জন্য সমর্থিত ইভেন্টগুলো দেখানো হয়েছে।

লক্ষ্য সম্পদ সমর্থিত ইভেন্টগুলি
চ্যাট স্পেস
  • বার্তা
  • সদস্যপদ
  • প্রতিক্রিয়া
  • মহাকাশ
চ্যাট ব্যবহারকারীরা
  • সদস্যপদ
গুগল ড্রাইভ ফাইল বা শেয়ার করা ড্রাইভ ফাইল
  • প্রবেশাধিকার প্রস্তাব
  • অনুমোদন
  • মন্তব্য
  • ফাইল
  • উত্তর
গুগল মিট মিটিং স্পেস এবং ব্যবহারকারী

আরও জানতে, নিম্নলিখিত নির্দেশিকাগুলো দেখুন:

গুগল ওয়ার্কস্পেস ইভেন্টের কাঠামো

গুগল ওয়ার্কস্পেস ইভেন্টগুলো ক্লাউডইভেন্টস স্পেসিফিকেশন অনুসরণ করে, যা ইভেন্ট ডেটা বর্ণনা করার একটি শিল্প-মানসম্মত পদ্ধতি। গুগল ওয়ার্কস্পেস ইভেন্টগুলোতে নিম্নলিখিত বিষয়গুলো থাকে:

নিম্নলিখিত অংশে গুগল ওয়ার্কস্পেস ইভেন্টের অ্যাট্রিবিউট ও ডেটার কাঠামো ব্যাখ্যা করা হয়েছে।

ক্লাউডইভেন্ট অ্যাট্রিবিউট

Google Workspace ইভেন্টগুলিতে নিম্নলিখিত প্রয়োজনীয় CloudEvents অ্যাট্রিবিউটগুলি অন্তর্ভুক্ত থাকে:

বৈশিষ্ট্য বর্ণনা উদাহরণ

datacontenttype

ইভেন্টে যে ধরনের ডেটা পাঠানো হয়েছে।

application/json

id

CloudEvent-এর জন্য একটি শনাক্তকারী।

spaces/AAAABBBBBBB/spaceEvents/ABCDEFGHIJKLMNO

source

ইভেন্টের উৎস। গুগল ওয়ার্কস্পেস ইভেন্টের ক্ষেত্রে, এটি হলো সাবস্ক্রিপশনের সম্পূর্ণ রিসোর্স নেম। //workspaceevents.googleapis.com/subscriptions/chat-spaces-abcdefg

specversion

এই ইভেন্টের জন্য ব্যবহৃত ক্লাউডইভেন্টস স্পেসিফিকেশন সংস্করণ।

1.0

subject

গুগল ওয়ার্কস্পেস রিসোর্স যেখানে ঘটনাটি ঘটেছে।

//chat.googleapis.com/spaces/AAAABBBBBBB

time

ঘটনাটি ঘটার সময়কার টাইমস্ট্যাম্প, RFC 3339 ফরম্যাটে।

2023-09-07T21:37:36.260127Z

type

গুগল ওয়ার্কস্পেস ইভেন্টের ধরণ।

google.workspace.chat.message.v1.created

ইভেন্টের ডেটা

ইভেন্ট ডেটা হলো একটি পেলোড যা আপনার সাবস্ক্রিপশনের টার্গেট রিসোর্সের কোনো পরিবর্তনকে নির্দেশ করে, যার মধ্যে টার্গেট রিসোর্সের চাইল্ড রিসোর্সগুলোও অন্তর্ভুক্ত থাকে। আপনার সাবস্ক্রিপশনে, আপনি নির্দিষ্ট করে দিতে পারেন যে পেলোডটিতে পরিবর্তিত রিসোর্স সম্পর্কিত ডেটা থাকবে, নাকি শুধু পরিবর্তিত রিসোর্সটির নাম থাকবে।

উদাহরণস্বরূপ, যদি আপনার কোনো চ্যাট স্পেসের সাবস্ক্রিপশন থাকে, তাহলে আপনি সেই স্পেসের নতুন মেসেজ সম্পর্কিত ইভেন্টগুলো পেতে পারেন। নতুন মেসেজ সম্পর্কিত ইভেন্টগুলোর ক্ষেত্রে, ইভেন্ট ডেটাতে তৈরি হওয়া Chat spaces.message রিসোর্সটির একটি পেলোড থাকে।

সাবস্ক্রিপশন তৈরি করার সময়, আপনার অ্যাপে আসা ইভেন্টগুলোতে কী পরিমাণ রিসোর্স ডেটা অন্তর্ভুক্ত থাকবে তা আপনি নির্দিষ্ট করে দিতে পারেন।

সম্পদ ডেটা পেলোড সাবস্ক্রিপশনের মেয়াদ শেষ
রিসোর্স ডেটা অন্তর্ভুক্ত করুন পরিবর্তিত রিসোর্সটির কিছু বা সমস্ত ফিল্ড ধারণ করে। সর্বোচ্চ ৪ ঘন্টা, অথবা ডোমেন-ব্যাপী ডেলিগেশন ব্যবহার করলে ২৪ ঘন্টা।
রিসোর্স ডেটা বাদ দিন এতে শুধুমাত্র পরিবর্তিত রিসোর্সটির নাম থাকে। ৭ দিন পর্যন্ত

ইভেন্ট ডেটার এই বিকল্পগুলো আপনার সাবস্ক্রিপশনের payloadOptions ফিল্ডে দেখানো থাকে।

গুগল ক্লাউড পাব/সাব বার্তা হিসাবে ইভেন্ট

গুগল ওয়ার্কস্পেস ইভেন্টস এপিআই সাবস্ক্রিপশনগুলো গুগল ওয়ার্কস্পেস ইভেন্ট গ্রহণকারী নোটিফিকেশন এন্ডপয়েন্ট হিসেবে গুগল ক্লাউড পাব/সাব টপিক ব্যবহার করে। ইভেন্টগুলো গুগল ক্লাউড পাব/সাব মেসেজ হিসেবে এনকোড করা হয়। আপনার অ্যাপ কোনো ব্যবস্থা নিতে বা ইভেন্টের প্রতিক্রিয়া জানাতে গুগল ক্লাউড পাব/সাব মেসেজটি প্রসেস করতে পারে।

নিম্নলিখিত উদাহরণটি একটি গুগল ক্লাউড পাব/সাব বার্তা দেখাচ্ছে, যেটিতে একটি চ্যাট স্পেসে আপডেট হওয়া বার্তা সম্পর্কিত একটি ইভেন্ট রয়েছে:

 {
    "message":
    {
        "attributes":
        {
            "ce-datacontenttype": "application/json",
            "ce-id": "spaces/SPACE_ID/spaceEvents/SPACE_EVENT_ID",
            "ce-source": "//workspaceevents.googleapis.com/subscriptions/SUBSCRIPTION_ID",
            "ce-specversion": "1.0",
            "ce-subject": "//chat.googleapis.com/spaces/SPACE_ID",
            "ce-time": "2023-09-07T21:37:53.274191Z",
            "ce-type": "google.workspace.chat.message.v1.updated"
        },
        "data": "EVENT_DATA",
        "messageId": "PUBSUB_MESSAGE_ID",
        "orderingKey": "//workspaceevents.googleapis.com/subscriptions/SUBSCRIPTION_ID",
        "publishTime": "2023-09-07T21:37:53.713Z"
    }
}

এই উদাহরণটিতে নিম্নলিখিত ক্ষেত্রগুলি রয়েছে:

  • attributes : ক্লাউডইভেন্ট-এর অ্যাট্রিবিউটসমূহ , যার মধ্যে ইভেন্টের ধরন অন্তর্ভুক্ত। এক্ষেত্রে, ইভেন্টটি স্পেসের একটি আপডেট হওয়া মেসেজ সম্পর্কিত।
  • data : আপডেট হওয়া spaces.message রিসোর্স সম্পর্কিত ইভেন্ট ডেটা , যা একটি Base64-এনকোডেড স্ট্রিং হিসাবে ফরম্যাট করা হয়েছে।
  • messageId : গুগল ক্লাউড পাব/সাব মেসেজের শনাক্তকারী।

Google Cloud Pub/Sub মেসেজে CloudEvents কীভাবে নির্দিষ্ট করা হয় সে সম্পর্কে আরও জানতে, Google Cloud Pub/Sub Protocol Binding for CloudEvents দেখুন।