এই গাইডটি Google ড্রাইভ অ্যাক্টিভিটি API-তে একটি প্রতিক্রিয়ার প্রধান উপাদানগুলি ব্যাখ্যা করে, উদাহরণগুলি দেখায় এবং কীভাবে সেগুলিকে ব্যাখ্যা করতে হয়৷
বস্তু
DriveActivity
—এটি ড্রাইভ অ্যাক্টিভিটি এপিআই-তে প্রশ্নের দ্বারা ফেরত দেওয়া প্রাথমিক সংস্থান। এটি বর্ণনা করে যে এক বা একাধিক অভিনেতা এক বা একাধিক ক্রিয়া সম্পাদন করছেন যা এক বা একাধিক লক্ষ্যকে প্রভাবিত করে।Timestamp
এবংTimeRange
— এগুলি যথাক্রমে বর্ণনা করে, যখন কার্যকলাপটি ঘটেছিল তখন সময়ের একটি একক বিন্দু, অথবা যখন কার্যকলাপটি নির্দিষ্ট সময়ের মধ্যে ঘটেছিল তখন শুরু এবং শেষ হয়।Actor
- সাধারণত, একজনActor
একজন শেষ ব্যবহারকারী। যাইহোক, কখনও কখনও, একটি সিস্টেম ইভেন্ট একটিAction
ট্রিগার করতে পারে যখন একজন প্রশাসক একজন ব্যবহারকারী হিসাবে বা নিজের মতো কাজ করেন, বা যখন কোনও অজ্ঞাত ব্যক্তি দ্বারা সঞ্চালিত হয়।Actor
বার্তা এই প্রতিটি ক্ষেত্রে encapsulates.Target
— একটিTarget
হল একটি ক্রিয়াকলাপের বস্তু, যেমন একটি ফাইল, একটি ফোল্ডার, একটি শেয়ার্ড ড্রাইভ বা একটি ফাইল মন্তব্য৷ উল্লেখ্য যে অনেক ধরনের কর্মের ধরন একাধিক ধরনের লক্ষ্য সমর্থন করে। উদাহরণস্বরূপ, যদিওEdit
সাধারণত ড্রাইভ ফাইলগুলিতে প্রযোজ্য, তবেRename
এবংCreate
মতো অন্যান্য ক্রিয়াগুলি ড্রাইভ ফোল্ডার এবং শেয়ার্ড ড্রাইভেও প্রযোজ্য হতে পারে। ড্রাইভ আইটেম নয় এমন লক্ষ্যগুলি এখনও একটিকে উল্লেখ করতে পারে, যেমন একটি ড্রাইভের রুট ফোল্ডার বা একটি ফাইল মন্তব্য ধারণকারী মূল নথি৷Action
— প্রতিটিDriveActivity
রিসোর্সে এক বা একাধিক সম্পর্কিত অ্যাকশন থাকে। একটিAction
একটি ইভেন্টের মতো স্বয়ংসম্পূর্ণ, যাতে এটি কেবলমাত্র অ্যাকশন সম্পর্কে বিস্তারিত প্রকার এবং তথ্যই নয়, একজনActor
, একটিTarget
এবং হয় একটিTimestamp
বাTimeRange
। অপ্রয়োজনীয়তা এড়াতে, যখন সামগ্রিকDriveActivity
একই হয় তখন একটিAction
তার নিজস্বTarget
,Actor
বা সময় ক্ষেত্রগুলি পূরণ করে না৷ActionDetail
— এটি একটিAction
সম্পর্কে নির্দিষ্ট প্রকার এবং বিস্তারিত তথ্য। উদাহরণস্বরূপ, একটিMove
অ্যাকশন বিশদটির একটি উত্স এবং গন্তব্য অবস্থান রয়েছে এবং একটিPermissionChange
নির্দিষ্ট করে যে কে এখন একটি নথি অ্যাক্সেস করতে পারে এবং কোন বিশেষাধিকারগুলি সহ।
উদাহরণ প্রতিক্রিয়া
একজন ব্যবহারকারী ড্রাইভে একটি ফাইল সম্পাদনা করেছেন:
একটি সাধারণ DriveActivity
সংস্থান শুধুমাত্র একটি ক্রিয়া অন্তর্ভুক্ত করতে পারে, যেমন একজন ব্যবহারকারী একটি ফাইল সম্পাদনা করে।
"activities":[{
"primary_action_detail":{ "edit":{} },
"actors":[ { "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID" } } } ],
"targets":[ { "drive_item":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } } ],
"timestamp":{ "seconds":"1536794657", "nanos":791000000 },
"actions":[ { "detail":{ "edit":{} } } ]
}]
এই আউটপুট নিম্নলিখিত মান অন্তর্ভুক্ত:
- ACCOUNT_ID : ব্যবহারকারীর ID। এটি আরও তথ্য পেতে People API এর সাথে ব্যবহার করা যেতে পারে।
- ITEM_ID : ড্রাইভ আইটেমের আইডি।
- TITLE : ড্রাইভ আইটেমের শিরোনাম।
মনে রাখবেন যে এই প্রতিক্রিয়ার Action
Actor
, Target
বা TimeStamp
অন্তর্ভুক্ত নয় কারণ সেগুলি সামগ্রিক DriveActivity
মতোই৷
দুই ব্যবহারকারী একই সময়ে একই ফাইল সম্পাদনা করেছেন:
যখন একত্রীকরণ চালু থাকে, তখন সম্পর্কিত ক্রিয়াগুলিকে একটি DriveActivity
গোষ্ঠীভুক্ত করা হয়। এই উদাহরণে, 2টি অনুরূপ ক্রিয়াগুলিকে গোষ্ঠীভুক্ত করা হয়েছে: 2টি ভিন্ন ব্যবহারকারীর থেকে একটি Edit
কর্মের ধরন৷
"activities":[{
"primary_action_detail":{ "edit":{} },
"actors":[
{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_1" } } },
{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_2" } } }
],
"targets":[
{ "drive_item":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } }
],
"time_range":{
"start_time":{ "seconds":"1541089823", "nanos":712000000 },
"end_time":{ "seconds":"1541089830", "nanos":830000000 }
},
"actions":[
{
"detail":{ "edit":{} },
"actor":{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_1" } } },
"timestamp":{ "seconds":"1541089830", "nanos":830000000 }
},
{
"detail":{ "edit":{} },
"actor":{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_2" } } },
"timestamp":{ "seconds":"1541089823", "nanos":712000000 }
}
]
}]
এই আউটপুট নিম্নলিখিত মান অন্তর্ভুক্ত:
- ACCOUNT_ID_1 : প্রথম ব্যবহারকারীর ID। এটি আরও তথ্য পেতে People API এর সাথে ব্যবহার করা যেতে পারে।
- ACCOUNT_ID_2 : দ্বিতীয় ব্যবহারকারীর ID।
- ITEM_ID : ড্রাইভ আইটেমের আইডি।
- TITLE : ড্রাইভ আইটেমের শিরোনাম।
মনে রাখবেন যে এই প্রতিক্রিয়ার ক্রিয়াগুলি Target
অন্তর্ভুক্ত করে না কারণ এটি সামগ্রিক DriveActivity
মতো।
উদাহরণটি আরও ব্যাখ্যা করে যে কীভাবে অ্যাপগুলি ব্যক্তিগত ক্রিয়াগুলির দিকে না তাকিয়ে DriveActivity
শুধুমাত্র সংক্ষিপ্ত তথ্য ব্যবহার করতে পারে৷ প্রতিক্রিয়াটি নির্দেশ করে যে 2 জন ব্যবহারকারী নির্দিষ্ট সময়ের মধ্যে একটি প্রদত্ত ফাইল সম্পাদনা করেছেন৷
একজন ব্যবহারকারী 2টি ফাইল একটি নতুন ডিরেক্টরিতে স্থানান্তরিত করেছেন:
এই উদাহরণে, একত্রীকরণ কৌশলটি 2টি সম্পর্কিত Move
ক্রিয়াগুলিকে গোষ্ঠীভুক্ত করেছে কারণ ফাইলগুলি একই উত্স থেকে একই গন্তব্যে একই সময়ে সরানো হয়েছিল।
"activities":[{
"primary_action_detail":{
"move":{
"added_parents":[ { ... } ]
"removed_parents":[ { ... } ]
}
},
"actors":[ { "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID" } } } ],
"targets":[
{ "drive_item":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } },
{ "drive_item":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
],
"timestamp":{ "seconds":"1541090960", "nanos":985000000 },
"actions":[
{
"detail":{ "move":{ "added_parents":[ { ... } ] "removed_parents":[ { ... } ] } },
"target":{ "drive_item":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } }
},
{
"detail":{ "move":{ "added_parents":[ { ... } ] "removed_parents":[ { ... } ] } },
"target":{ "drive_item":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
}
]
}]
এই আউটপুট নিম্নলিখিত মান অন্তর্ভুক্ত:
- ACCOUNT_ID : ব্যবহারকারীর ID। এটি আরও তথ্য পেতে People API এর সাথে ব্যবহার করা যেতে পারে।
- ITEM_ID_1 : প্রথম ড্রাইভ আইটেমের আইডি৷
- ITEM_ID_2 : দ্বিতীয় ড্রাইভ আইটেমের আইডি৷
- TITLE_1 : প্রথম ড্রাইভ আইটেমের শিরোনাম৷
- TITLE_2 : দ্বিতীয় ড্রাইভ আইটেমের শিরোনাম৷
মনে রাখবেন যে এই প্রতিক্রিয়ার ক্রিয়াগুলি Actor
বা TimeStamp
অন্তর্ভুক্ত করে না কারণ সেগুলি সামগ্রিক DriveActivity
মতো৷