এই পৃষ্ঠাটি Google Workspace Events API ব্যবহার করে আপনার অ্যাপ যে Google Drive ইভেন্টগুলিতে সাবস্ক্রাইব করতে পারে তার বর্ণনা দেয়। আপনার কোন ধরণের ইভেন্ট প্রয়োজন তা সিদ্ধান্ত নেওয়ার পরে, Drive থেকে ইভেন্টগুলি গ্রহণ শুরু করার জন্য একটি সাবস্ক্রিপশন তৈরি করুন ।
ড্রাইভের জন্য অ্যাপ তৈরি সম্পর্কে আরও জানতে, Google ড্রাইভ API ওভারভিউ দেখুন।
সমর্থিত ড্রাইভ ইভেন্ট
Google Workspace সাবস্ক্রিপশনের মাধ্যমে আপনি Drive-এ নিম্নলিখিত ধরণের পরিবর্তন সম্পর্কে ইভেন্ট পেতে পারেন:
একটি ফাইলে একটি অ্যাক্সেস প্রস্তাব তৈরি বা সমাধান করা হয়।
একটি ফাইলে অথবা শেয়ার্ড ড্রাইভের মধ্যে থাকা কোনও ফাইলে একটি মন্তব্য তৈরি, সম্পাদনা, সমাধান, পুনরায় খোলা বা মুছে ফেলা হয়।
একটি ফাইল হল:
- একটি ফোল্ডার বা শেয়ার্ড ড্রাইভে যোগ করা হয়েছে।
- একটি ফোল্ডার বা শেয়ার্ড ড্রাইভে সরানো হয়েছে।
- সম্পাদিত অথবা একটি নতুন সংস্করণ আপলোড করা হয়েছে।
- আবর্জনা ফেলা হয়েছে অথবা আবর্জনা থেকে সরানো হয়েছে।
- পুনঃনামকরণ (কোনও ফাইল বা ফোল্ডারের শিরোনাম পরিবর্তিত হয়েছে)।
একটি ফাইলের মধ্যে অথবা একটি শেয়ার্ড ড্রাইভের মধ্যে থাকা একটি ফাইলের মন্তব্য থ্রেডে একটি উত্তর তৈরি, সম্পাদনা বা মুছে ফেলা হয়।
ইভেন্টগুলির জন্য আপনি যে সম্পদগুলি পর্যবেক্ষণ করতে পারেন
ইভেন্টগুলি গ্রহণ করার জন্য, আপনাকে নিরীক্ষণের জন্য একটি ড্রাইভ রিসোর্স নির্দিষ্ট করতে হবে, যাকে সাবস্ক্রিপশনের টার্গেট রিসোর্স বলা হয়।
Google Workspace Events API ড্রাইভের জন্য নিম্নলিখিত লক্ষ্য সংস্থানগুলিকে সমর্থন করে:
| লক্ষ্য সম্পদ | বিন্যাস | সীমাবদ্ধতা (যদি প্রযোজ্য হয়) |
|---|---|---|
| ফাইল | //drive.googleapis.com/files/ FILE যেখানে FILE হল Drive API | সাবস্ক্রিপশন অনুমোদনকারী ব্যবহারকারীর সাবস্ক্রিপশনের মধ্যে থাকা ফাইলটিতে সাবস্ক্রিপশন ইভেন্টের সাথে সম্পর্কিত অনুমতি থাকতে হবে। |
| শেয়ার্ড ড্রাইভ | //drive.googleapis.com/drives/ DRIVE যেখানে DRIVE হলো Drive API | সাবস্ক্রিপশনটি শুধুমাত্র শেয়ার্ড ড্রাইভের আইটেমগুলির জন্য ইভেন্ট গ্রহণ করে যেখানে ব্যবহারকারী তার Google Workspace অ্যাকাউন্ট বা Google অ্যাকাউন্টের মাধ্যমে সদস্য। |
সাবস্ক্রিপশন তৈরির জন্য ইভেন্টের ধরণ
যখন আপনি একটি ড্রাইভ রিসোর্সে সাবস্ক্রিপশন তৈরি করেন, তখন আপনি কোন ধরণের ইভেন্ট পেতে চান তা নির্দিষ্ট করতে eventTypes[] ক্ষেত্রটি ব্যবহার করেন। ইভেন্টের ধরণগুলি CloudEvents স্পেসিফিকেশন অনুসারে ফর্ম্যাট করা হয়, যেমন google.workspace. APPLICATION . RESOURCE . VERSION . ACTION .
উদাহরণস্বরূপ, একটি ফোল্ডার বা শেয়ার্ড ড্রাইভে তৈরি হওয়া কোনও ফাইল সম্পর্কে ইভেন্টগুলি পেতে, আপনাকে ফাইলটিকে লক্ষ্য সংস্থান হিসাবে এবং ইভেন্টের ধরণটি google.workspace.drive.file.v3.created হিসাবে নির্দিষ্ট করতে হবে। একটি ফাইলে তৈরি হওয়া কোনও অ্যাক্সেস প্রস্তাব সম্পর্কে ইভেন্টগুলি পেতে, আপনাকে অ্যাক্সেস প্রস্তাবটিকে লক্ষ্য সংস্থান হিসাবে এবং ইভেন্টের ধরণটি google.workspace.drive.accessproposal.v3.created হিসাবে নির্দিষ্ট করতে হবে। ইভেন্টগুলি কীভাবে কাজ করে সে সম্পর্কে আরও জানতে, Google Workspace ইভেন্টগুলির কাঠামো দেখুন।
ড্রাইভ রিসোর্সের সাবস্ক্রিপশনের জন্য কোন ধরণের ইভেন্ট সমর্থিত তা নিম্নলিখিত টেবিলে দেখানো হয়েছে:
| ইভেন্টের ধরণ | বিন্যাস | রিসোর্স ডেটা | ||
|---|---|---|---|---|
| ফাইল এবং শেয়ার্ড ড্রাইভের সাবস্ক্রিপশন | ||||
| একটি ফাইলে একটি অ্যাক্সেস প্রস্তাব তৈরি করা হয়। | | | ||
| একটি ফাইলে একটি অ্যাক্সেস প্রস্তাবের সমাধান করা হয়েছে। | | | ||
| একটি ফাইলে অথবা শেয়ার্ড ড্রাইভের মধ্যে থাকা একটি ফাইলে একটি মন্তব্য তৈরি করা হয়। | | | ||
| একটি ফাইলে অথবা শেয়ার্ড ড্রাইভের মধ্যে থাকা একটি ফাইলে একটি মন্তব্য সম্পাদনা করা হয়। | | | ||
| কোনও ফাইলে অথবা শেয়ার্ড ড্রাইভের মধ্যে থাকা কোনও ফাইলে মন্তব্যের সমাধান করা হয়। | | | ||
| একটি ফাইলে অথবা শেয়ার্ড ড্রাইভের মধ্যে থাকা একটি ফাইলে একটি মন্তব্য পুনরায় খোলা হয়। | | | ||
| একটি ফাইলে অথবা একটি শেয়ার্ড ড্রাইভের মধ্যে থাকা একটি ফাইলে একটি মন্তব্য মুছে ফেলা হয়। | | | ||
| একটি ফাইল একটি ফোল্ডার বা শেয়ার্ড ড্রাইভে যোগ করা হয়। | | | ||
| একটি ফাইল একটি ফোল্ডার বা শেয়ার্ড ড্রাইভে সরানো হয়। | | | ||
| একটি ফাইল সম্পাদনা করা হয় অথবা একটি নতুন সংস্করণ আপলোড করা হয়। | | | ||
| একটি ফাইল মুছে ফেলা হয়েছে। | | | ||
| একটি ফাইল ট্র্যাশে ফেলা হয়েছে। | | | ||
| ট্র্যাশ থেকে একটি ফাইল সরানো হচ্ছে। | | | ||
| একটি ফাইলের নাম পরিবর্তন করা হয়েছে। | | | ||
| একটি ফাইলের মধ্যে থাকা মন্তব্য থ্রেডে অথবা একটি শেয়ার্ড ড্রাইভের মধ্যে থাকা ফাইলে একটি উত্তর তৈরি করা হয়। | | | ||
| একটি ফাইলের মধ্যে থাকা মন্তব্য থ্রেডে অথবা একটি শেয়ার্ড ড্রাইভের মধ্যে থাকা ফাইলে একটি উত্তর সম্পাদনা করা হয়। | | | ||
| কোনও ফাইলের মন্তব্য থ্রেডে অথবা শেয়ার্ড ড্রাইভের মধ্যে থাকা কোনও ফাইলে উত্তর মুছে ফেলা হয়। | | | ||
ইভেন্ট ডেটা
এই বিভাগটি ড্রাইভে ইভেন্টের জন্য ইভেন্ট ডেটা এবং উদাহরণ পেলোড বর্ণনা করে।
যখন আপনার Google Workspace সাবস্ক্রিপশনে Drive থেকে কোনও ইভেন্ট আসে, তখন data ফিল্ডে ইভেন্টের পেলোড থাকে। এই পেলোডে পরিবর্তিত Google Workspace রিসোর্স সম্পর্কে তথ্য থাকে। উদাহরণস্বরূপ, আপনি যদি ফাইল ইভেন্টগুলিতে সাবস্ক্রাইব করে থাকেন, তাহলে এই ইভেন্টগুলির পেলোডে পরিবর্তিত files রিসোর্স সম্পর্কে তথ্য থাকে।
ইভেন্ট পেলোডে রিসোর্স ডেটা
যখন আপনি একটি সাবস্ক্রিপশন তৈরি করেন, তখন আপনি নির্দিষ্ট করতে পারেন যে আপনি পেলোডে রিসোর্স সম্পর্কে বিশদ বিবরণ অন্তর্ভুক্ত করতে চান, নাকি কেবল রিসোর্সের নাম অন্তর্ভুক্ত করতে চান। উদাহরণস্বরূপ, যদি আপনি ড্রাইভে ফাইল সম্পর্কে ইভেন্টগুলি পেতে চান, তাহলে ইভেন্ট পেলোডে আপনি files রিসোর্সের কোন ক্ষেত্রগুলি পেতে চান তা নির্দিষ্ট করতে পারেন।
নিম্নলিখিত টেবিলে ড্রাইভ রিসোর্সের সাবস্ক্রিপশনের জন্য JSON পেলোডের উদাহরণ দেওয়া হয়েছে। ফাইল আইডিতে অক্ষর, সংখ্যা এবং কিছু বিশেষ অক্ষর থাকে যা files/^[01][0-9a-zA-Z_-]+$/ হিসেবে গঠন করা হয়। উদাহরণস্বরূপ, files/1aaabbbAAABBB111222-_ । সাবস্ক্রিপশনটি যে প্রতিটি ইভেন্ট গ্রহণ করে, তার জন্য ইভেন্টের data ফিল্ডে পেলোড প্রদর্শিত হয়:
| উদাহরণ | ইভেন্টের ধরণ | JSON পেলোড |
|---|---|---|
একজন ব্যবহারকারী একটি ফাইলে একটি অ্যাক্সেস প্রস্তাব তৈরি করেন। | | রিসোর্স ডেটা অন্তর্ভুক্ত
{
"accessProposal": [
{
"file_id": "FILE_ID",
"proposalId": "PROPOSAL_ID",
"recipientEmailAddress": "alex@altostrat.com",
"requesterEmailAddress": "kai@cymbalgroup.com",
"requestMessage": "grant me access to this file",
"rolesAndViews": [
{
"role": "writer",
"view": "published"
}
]
}
]
}
রিসোর্স ডেটা বাদ দেয়
{
"accessProposal": [
{
"proposalId": "PROPOSAL_ID"
}
]
}
|
একজন ব্যবহারকারী একটি ফাইলের অ্যাক্সেস প্রস্তাবের সমাধান করেন। | | রিসোর্স ডেটা অন্তর্ভুক্ত
{
"accessProposal": [
{
"file_id": "FILE_ID",
"proposalId": "PROPOSAL_ID",
"recipientEmailAddress": "alex@altostrat.com",
"requesterEmailAddress": "kai@cymbalgroup.com",
"requestMessage": "resolve access to this file",
"rolesAndViews": [
{
"role": "writer",
"view": "published"
}
]
}
]
}
রিসোর্স ডেটা বাদ দেয়
{
"accessProposal": [
{
"proposalId": "PROPOSAL_ID"
}
]
}
|
একজন ব্যবহারকারী একটি ফাইলে একটি মন্তব্য তৈরি করেন। | | রিসোর্স ডেটা অন্তর্ভুক্ত
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
রিসোর্স ডেটা বাদ দেয়
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
একজন ব্যবহারকারী একটি ফাইলের উপর একটি মন্তব্য সম্পাদনা করেন। | | রিসোর্স ডেটা অন্তর্ভুক্ত
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
রিসোর্স ডেটা বাদ দেয়
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
একজন ব্যবহারকারী একটি ফাইলের উপর একটি মন্তব্য সমাধান করেন। | | রিসোর্স ডেটা অন্তর্ভুক্ত
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
রিসোর্স ডেটা বাদ দেয়
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
একজন ব্যবহারকারী একটি ফাইলের উপর একটি মন্তব্য পুনরায় খোলেন। | | রিসোর্স ডেটা অন্তর্ভুক্ত
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
রিসোর্স ডেটা বাদ দেয়
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
একজন ব্যবহারকারী একটি ফাইলের একটি মন্তব্য মুছে ফেলেন। | | রিসোর্স ডেটা অন্তর্ভুক্ত
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
রিসোর্স ডেটা বাদ দেয়
{
"comment": {
"id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
একজন ব্যবহারকারী একটি ফোল্ডার বা শেয়ার্ড ড্রাইভে একটি ফাইল যোগ করেন। | | রিসোর্স ডেটা অন্তর্ভুক্ত
{
"file": {
"id": "FILE_ID",
"parent": "PARENT_ID",
"version": "63",
"mimeType": "application/vnd.google-apps.document"
}
}
রিসোর্স ডেটা বাদ দেয়
{
"file": {
"id": "FILE_ID"
}
}
|
একজন ব্যবহারকারী একটি ফাইল একটি ফোল্ডার বা শেয়ার্ড ড্রাইভে স্থানান্তর করেন। | | রিসোর্স ডেটা অন্তর্ভুক্ত
{
"file": {
"id": "FILE_ID",
"parent": "PARENT_ID",
"version": "63",
"mimeType": "application/vnd.google-apps.document"
}
}
রিসোর্স ডেটা বাদ দেয়
{
"file": {
"id": "FILE_ID"
}
}
|
একজন ব্যবহারকারী একটি ফাইল সম্পাদনা করেন অথবা একটি নতুন সংস্করণ আপলোড করা হয়। | | রিসোর্স ডেটা অন্তর্ভুক্ত
{
"file": {
"id": "FILE_ID",
"parent": "PARENT_ID",
"version": "63",
"mimeType": "application/vnd.google-apps.document"
}
}
রিসোর্স ডেটা বাদ দেয়
{
"file": {
"id": "FILE_ID"
}
}
|
একজন ব্যবহারকারী একটি ফাইল মুছে ফেলেন। | | রিসোর্স ডেটা অন্তর্ভুক্ত
{
"file": {
"id": "FILE_ID",
"parent": "PARENT_ID",
"version": "63",
"mimeType": "application/vnd.google-apps.document"
}
}
রিসোর্স ডেটা বাদ দেয়
{
"file": {
"id": "FILE_ID"
}
}
|
একজন ব্যবহারকারী একটি ফাইল ট্র্যাশে ফেলে দেন। | | রিসোর্স ডেটা অন্তর্ভুক্ত
{
"file": {
"id": "FILE_ID",
"parent": "PARENT_ID",
"version": "63",
"mimeType": "application/vnd.google-apps.document"
}
}
রিসোর্স ডেটা বাদ দেয়
{
"file": {
"id": "FILE_ID"
}
}
|
একজন ব্যবহারকারী ট্র্যাশ থেকে একটি ফাইল পুনরুদ্ধার করেন। | | রিসোর্স ডেটা অন্তর্ভুক্ত
{
"file": {
"id": "FILE_ID",
"parent": "PARENT_ID",
"version": "63",
"mimeType": "application/vnd.google-apps.document"
}
}
রিসোর্স ডেটা বাদ দেয়
{
"file": {
"id": "FILE_ID"
}
}
|
একজন ব্যবহারকারী একটি ফাইল বা ফোল্ডারের নাম পরিবর্তন করেন। | | রিসোর্স ডেটা অন্তর্ভুক্ত
{
"file": {
"id": "FILE_ID",
"parent": "PARENT_ID",
"version": "63",
"mimeType": "application/vnd.google-apps.document"
}
}
রিসোর্স ডেটা বাদ দেয়
{
"file": {
"id": "FILE_ID"
}
}
|
একজন ব্যবহারকারী একটি মন্তব্য থ্রেডে একটি মন্তব্যের উত্তর তৈরি করেন। | | রিসোর্স ডেটা অন্তর্ভুক্ত
{
"reply": {
"id": "REPLY_ID",
"comment_id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
রিসোর্স ডেটা বাদ দেয়
{
"reply": {
"id": "REPLY_ID",
"comment_id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
একজন ব্যবহারকারী একটি মন্তব্য থ্রেডে একটি মন্তব্যের উত্তর সম্পাদনা করেন। | | রিসোর্স ডেটা অন্তর্ভুক্ত
{
"reply": {
"id": "REPLY_ID",
"comment_id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
রিসোর্স ডেটা বাদ দেয়
{
"reply": {
"id": "REPLY_ID",
"comment_id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
একজন ব্যবহারকারী একটি মন্তব্য থ্রেডের একটি মন্তব্যের উত্তর মুছে ফেলেন। | | রিসোর্স ডেটা অন্তর্ভুক্ত
{
"reply": {
"id": "REPLY_ID",
"comment_id": "COMMENT_ID",
"file_id": "FILE_ID",
"mentioned_email_addresses": ["alex@altostrat.com", "kai@cymbalgroup.com"],
"assignee_email_address": "yuri@altostrat.com"
}
}
রিসোর্স ডেটা বাদ দেয়
{
"reply": {
"id": "REPLY_ID",
"comment_id": "COMMENT_ID",
"file_id": "FILE_ID"
}
}
|
সীমাবদ্ধতা
- যখন
DriveOptionsএincludeDescendantsবুলিয়ান ফিল্ডটিtrueহয়, তখন শেয়ার্ড ড্রাইভ এবং ফোল্ডারে Drive সাবস্ক্রিপশন সর্বদা একটি ইভেন্ট প্রেরণ করে, এমনকি যে ফাইলটি ইভেন্টটি ট্রিগার করেছিল তা Drive সাবস্ক্রিপশনের জন্য ব্যবহৃত ফোল্ডারের নীচে অনেক স্তরে নেস্ট করা থাকলেও। - যদিও আপনি একটি ফোল্ডারে সাবস্ক্রিপশন তৈরি করে থাকতে পারেন, তবুও আপনি ফাইল অনুক্রমের মধ্যে সমস্ত ইভেন্ট নাও পেতে পারেন কারণ ব্যবহারকারী বা অ্যাপ্লিকেশনকে সেগুলিতে অ্যাক্সেস দেওয়া নাও হতে পারে। এই ক্ষেত্রে, সাবস্ক্রিপশন সক্রিয় থাকে তবে আপনি এমন কোনও ইভেন্ট পাবেন না যেগুলিতে আপনার অ্যাক্সেস নেই।
- সকল ফাইল এবং ফোল্ডারের ইভেন্টের জন্য সাবস্ক্রিপশন সমর্থিত, কিন্তু শেয়ার্ড ড্রাইভের রুট ফোল্ডারে নয়। সাবস্ক্রিপশন শুধুমাত্র শেয়ার্ড ড্রাইভের ভিতরে থাকা ফাইল এবং ফোল্ডারের জন্য সমর্থিত। শেয়ার্ড ড্রাইভের রুট ফোল্ডারে সরাসরি করা পরিবর্তনগুলি ইভেন্টগুলিকে ট্রিগার করবে না।
- যে ব্যবহারকারী সাবস্ক্রিপশন অনুমোদন করেন, তার অবশ্যই সেই ইভেন্টের সাথে সম্পর্কিত ফাইলে অনুমতি থাকতে হবে যেখানে তিনি সাবস্ক্রাইব করেন।
- সাবস্ক্রিপশনটি শুধুমাত্র সেইসব রিসোর্সের জন্য ইভেন্ট গ্রহণ করে যেখানে ব্যবহারকারীর Google Workspace অ্যাকাউন্ট বা Google অ্যাকাউন্টের মাধ্যমে অ্যাক্সেস থাকে।