এই গাইডটি 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":[{
"primaryActionDetail":{ "edit":{} },
"actors":[ { "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID" } } } ],
"targets":[ { "driveItem":{ "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
মতোই৷
দুই ব্যবহারকারী একই সময়ে একই ফাইল সম্পাদনা করেছেন
যখন একটি ConsolidationStrategy
ব্যবহার করা হয়, তখন সম্পর্কিত ক্রিয়াগুলিকে একটি সম্মিলিত DriveActivity
গোষ্ঠীভুক্ত করা হয়। এই উদাহরণে, দুটি অনুরূপ ক্রিয়াগুলিকে গোষ্ঠীভুক্ত করা হয়েছে: দুটি ভিন্ন ব্যবহারকারীর থেকে একটি Edit
কর্মের ধরন৷
"activities":[{
"primaryActionDetail":{ "edit":{} },
"actors":[
{ "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID_1" } } },
{ "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID_2" } } }
],
"targets":[
{ "driveItem":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } }
],
"timeRange":{
"startTime":{ "seconds":"1541089823", "nanos":712000000 },
"endTime":{ "seconds":"1541089830", "nanos":830000000 }
},
"actions":[
{
"detail":{ "edit":{} },
"actor":{ "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID_1" } } },
"timestamp":{ "seconds":"1541089830", "nanos":830000000 }
},
{
"detail":{ "edit":{} },
"actor":{ "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID_2" } } },
"timestamp":{ "seconds":"1541089823", "nanos":712000000 }
}
]
}]
এই আউটপুট নিম্নলিখিত মান অন্তর্ভুক্ত:
- ACCOUNT_ID_1 : প্রথম ব্যবহারকারীর ID। এটি আরও তথ্য পেতে People API এর সাথে ব্যবহার করা যেতে পারে।
- ACCOUNT_ID_2 : দ্বিতীয় ব্যবহারকারীর ID।
- ITEM_ID : ড্রাইভ আইটেমের আইডি।
- TITLE : ড্রাইভ আইটেমের শিরোনাম।
মনে রাখবেন যে এই প্রতিক্রিয়ার Action
অবজেক্টটি Target
অন্তর্ভুক্ত করে না কারণ এটি সামগ্রিক DriveActivity
মতো।
উদাহরণটি আরও ব্যাখ্যা করে যে কীভাবে অ্যাপগুলি DriveActivity
শুধুমাত্র সংক্ষিপ্ত তথ্য ব্যবহার করতে পারে, ব্যক্তিগত ক্রিয়াগুলি না দেখে৷ প্রতিক্রিয়াটি নির্দেশ করে যে দুটি ব্যবহারকারী একটি প্রদত্ত ফাইলকে সময়ের ব্যবধানে সম্পাদনা করেছেন।
একজন ব্যবহারকারী একটি নতুন ডিরেক্টরিতে দুটি ফাইল সরান
এই উদাহরণে, ConsolidationStrategy
দুটি সম্পর্কিত Move
ক্রিয়াগুলিকে গোষ্ঠীভুক্ত করেছে কারণ ফাইলগুলি একই উত্স থেকে একই গন্তব্যে একই সময়ে সরানো হয়েছিল।
"activities":[{
"primaryActionDetail":{
"move":{
"addedParents":[ { ... } ]
"removedParents":[ { ... } ]
}
},
"actors":[ { "user":{ "knownUser":{ "personName":"people/ACCOUNT_ID" } } } ],
"targets":[
{ "driveItem":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } },
{ "driveItem":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
],
"timestamp":{ "seconds":"1541090960", "nanos":985000000 },
"actions":[
{
"detail":{ "move":{ "addedParents":[ { ... } ] "removedParents":[ { ... } ] } },
"target":{ "driveItem":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } }
},
{
"detail":{ "move":{ "addedParents":[ { ... } ] "removedParents":[ { ... } ] } },
"target":{ "driveItem":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
}
]
}]
এই আউটপুট নিম্নলিখিত মান অন্তর্ভুক্ত:
- ACCOUNT_ID : ব্যবহারকারীর ID। এটি আরও তথ্য পেতে People API এর সাথে ব্যবহার করা যেতে পারে।
- ITEM_ID_1 : প্রথম ড্রাইভ আইটেমের আইডি৷
- ITEM_ID_2 : দ্বিতীয় ড্রাইভ আইটেমের আইডি৷
- TITLE_1 : প্রথম ড্রাইভ আইটেমের শিরোনাম৷
- TITLE_2 : দ্বিতীয় ড্রাইভ আইটেমের শিরোনাম৷
মনে রাখবেন যে এই প্রতিক্রিয়ার Action
অবজেক্টে Actor
বা timestamp
অন্তর্ভুক্ত নেই কারণ সেগুলি সামগ্রিক DriveActivity
মতো।