Google Drive Activity API-তে অনুরোধ করুন

Google Drive Activity API-এ activity.query পদ্ধতি ব্যবহার করে কিভাবে অনুরোধ করা যায় এই গাইডটি ব্যাখ্যা করে।

প্রশ্ন কী

ক্রিয়াকলাপের অনুরোধ করার 2টি উপায় রয়েছে: Google ড্রাইভ আইটেম দ্বারা, বা ফোল্ডারের অনুক্রমের নীচে সমস্ত কিছুর জন্য৷

  • itemName : এই কীটির বিন্যাস হল "items/ITEM_ID"। সাধারণত এটি ড্রাইভের একটি ফাইল। আপনি যদি এই কীটির জন্য একটি ফোল্ডার নির্দিষ্ট করেন, এটি ফোল্ডারের কার্যকলাপ দেখায় যেমন এটি কখন তৈরি করা হয়েছিল বা পুনঃনামকরণ করা হয়েছিল।

  • ancestorName : এই কীটির বিন্যাস হল "items/ITEM_ID", এবং প্রতিক্রিয়াটি এই ফোল্ডারের নীচের সাবট্রির সমস্ত আইটেমের কার্যকলাপ অন্তর্ভুক্ত করে।

যখন কোন কী সেট করা থাকে না, তখন এটি "আইটেম/রুট" এর ancestorName ব্যবহার করে এবং আপনার ড্রাইভের সমস্ত আইটেমের কার্যকলাপ দেখায়।

পৃষ্ঠা সংখ্যা

pageSize ক্ষেত্রটি আপনাকে প্রতিটি প্রতিক্রিয়ায় ফিরে আসার জন্য আনুমানিক সংখ্যক কার্যকলাপের অনুরোধ করতে দেয়। প্রত্যাবর্তিত কার্যকলাপের প্রকৃত গণনা পরিবর্তিত হবে, তাই আপনার অ্যাপের প্রতিক্রিয়াতে নির্বিচারে পরিমাণ পরিচালনা করা উচিত।

পৃষ্ঠার আকার সীমিত। আপনার অ্যাপ্লিকেশানের যদি অনেকগুলি কার্যকলাপের প্রয়োজন হয়, তাহলে pageSize এর জন্য একটি বড় মান সেট করার পরিবর্তে পৃষ্ঠা সংখ্যা ব্যবহার করে একাধিক অনুরোধ করুন৷ বিশেষভাবে, যদি প্রতিক্রিয়াতে যা অন্তর্ভুক্ত করা হয়েছে তার থেকে আনার জন্য আরও বেশি কার্যকলাপ হতে পারে, তাহলে প্রতিক্রিয়াতে একটি nextPageToken ও থাকবে। আরও ফলাফল পুনরুদ্ধার করতে, একই অনুরোধের পুনরাবৃত্তি করুন কিন্তু পূর্বের প্রতিক্রিয়া থেকে nextPageToken এর মান সহ একটি pageToken ক্ষেত্র যোগ করুন।

একত্রীকরণ

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

আপনি অনুরোধে একটি ConsolidationStrategy (কখনও কখনও একত্রিতকরণ বা ব্যাচিং বলা হয়) উল্লেখ করতে পারেন। এটি সম্পর্কিত Action অবজেক্টের অন্যান্য গ্রুপিং সক্ষম করে, যেমন একাধিক অভিনেতা একটি আইটেম সম্পাদনা করে, বা একজন Actor একাধিক ফাইলকে একটি নতুন ড্রাইভ ফোল্ডারে স্থানান্তর করে৷

যদিও একটি পৃথক Action একজন Actor এবং একটি Target থাকে, গ্রুপ করার পরে, ফলে DriveActivity একাধিক অভিনেতা এবং একাধিক লক্ষ্য থাকতে পারে। গোষ্ঠীকরণের পরেও, যাইহোক, অনুরোধকৃত একত্রীকরণ কৌশলের উপর নির্ভর করে, DriveActivity রিসোর্সের সমস্ত ক্রিয়াগুলির মধ্যে একটি "প্রাথমিক" অ্যাকশন সবসময়ই থাকে যা হয় প্রতিনিধিত্বমূলক বা সবচেয়ে গুরুত্বপূর্ণ।

ফলস্বরূপ, একত্রীকরণ চালু হোক বা না হোক, অনেক ক্লায়েন্টের জন্য DriveActivity রিসোর্সের শুধুমাত্র শীর্ষ-স্তরের বিষয়বস্তু দেখতে যথেষ্ট হতে পারে (যেমন primaryActionDetail মধ্যে সমষ্টিগত অভিনেতা এবং লক্ষ্যগুলি) এবং বিশদ ক্রিয়াগুলি উপেক্ষা করা প্রতিক্রিয়া

ফিল্টার

আপনি activity.query অনুরোধে একটি filter স্ট্রিং তৈরি করে DriveActivity রিসোর্সে ফেরত দেওয়া হতে পারে এমন ক্রিয়াগুলিকে সীমাবদ্ধ করতে পারেন৷ এখানে 2টি সমর্থিত ক্ষেত্র রয়েছে: time and detail.action_detail_case

সময় অনুযায়ী ফিল্টার করুন

সময় সীমার দ্বারা ক্রিয়াগুলি সীমাবদ্ধ করতে, তারিখের মানগুলিতে সংখ্যাসূচক অপারেটরগুলির সাথে ক্ষেত্রের নামের time নির্দিষ্ট করুন, একটি ঐচ্ছিক "AND" দ্বারা যুক্ত। জানুয়ারী 1, 1970 বা RFC 3339 ফর্ম্যাট থেকে মিলিসেকেন্ড ব্যবহার করুন, যেমন:

  • time > 1452409200000 AND time <= 1492812924310
  • time >= "2016-01-10T01:02:03-05:00"

প্রকার অনুসারে ফিল্টার করুন

কর্মের ধরন দ্বারা সীমাবদ্ধ করতে, "has" অপারেটর ( : ) এর সাথে ক্ষেত্রের নাম detail.action_detail_case প্রয়োগ করুন। হয় একটি একবচন মান ব্যবহার করুন বা একটি স্থান দ্বারা পৃথক করা বন্ধনীতে আবদ্ধ অনুমোদিত ক্রিয়া প্রকারের একটি তালিকা ব্যবহার করুন৷ অ্যাকশনের ধরনগুলির একটি তালিকা খুঁজতে, ActionDetail অবজেক্টগুলি পর্যালোচনা করুন।

প্রতিক্রিয়া থেকে একটি অ্যাকশন টাইপ বাদ দিতে, ফিল্টার স্ট্রিং এর শুরুতে একটি হাইফেন ( - ) আগে যুক্ত করুন।

এখানে কিছু কর্ম ধরনের উদাহরণ আছে:

  • detail.action_detail_case:RENAME
  • detail.action_detail_case:(CREATE RESTORE)
  • -detail.action_detail_case:MOVE

কম্বিনেশন

এই ফিল্টারিং শর্তগুলি একটি একক filter স্ট্রিংয়ের মধ্যে একত্রিত করা যেতে পারে, যেমন:

  • detail.action_detail_case:(CREATE EDIT RESTORE) time > 1452409200000

উদাহরণ অনুরোধ

একটি ড্রাইভ আইটেমের জন্য 10টি সাম্প্রতিক কার্যকলাপের জন্য অনুরোধ করুন:

{
  "itemName": "items/ITEM_ID",
  "pageSize": 10
}

পূর্বপুরুষ ফোল্ডারের নীচে প্রতিটি ড্রাইভ আইটেমের জন্য একত্রিত কার্যকলাপের অনুরোধ করুন:

{
  "ancestorName": "items/ITEM_ID",
  "consolidationStrategy": {
    "legacy": {}
  }
}

একটি ড্রাইভ আইটেমে সমস্ত MOVE এবং RENAME অ্যাকশনের অনুরোধ করুন:

{
  "itemName": "items/ITEM_ID",
  "filter": "detail.action_detail_case:(MOVE RENAME)"
}

জানুয়ারী 1, 2018 EST থেকে সমস্ত কার্যকলাপের জন্য অনুরোধ করুন:

{
  "ancestorName": "items/root",
  "filter": "time >= \"2018-01-01T00:00:00-05:00\""
}

জুন 2017 ইউটিসি-তে EDIT কর্ম ব্যতীত সমস্ত কার্যকলাপের অনুরোধ করুন:

{
  "ancestorName": "items/root",
  "filter": "time >= \"2018-06-01T00:00:00Z\" time < \"2018-07-01T00:00:00Z\" -detail.action_detail_case:EDIT"
}