কল ডেটা পোর্টেবিলিটি API পদ্ধতি

ডেটা পোর্টেবিলিটি API এই পদ্ধতিগুলি নিয়ে গঠিত:

  • portabilityArchive.initiate
  • archiveJobs.getPortabilityArchiveState
  • resetAuthorization
  • archiveJobs.retryPortabilityArchive

portabilityArchive.initiate

আপনি একটি নতুন ডেটা এক্সপোর্ট কাজ শুরু করতে portabilityArchive.initiate পদ্ধতিতে কল করুন৷

যখন আপনি একটি ডেটা সংরক্ষণাগার তৈরি করতে একটি রপ্তানি কাজ শুরু করেন, তখন আপনাকে অবশ্যই উপযুক্ত সংস্থান গোষ্ঠীর কাছে অনুরোধ করতে হবে এবং সেই সংস্থান গোষ্ঠীর জন্য প্রয়োজনীয় সুযোগগুলির সাথে একটি OAuth টোকেন প্রদান করতে হবে৷ OAuth টোকেন অনুরোধটি অনুমোদন করতে এবং কোন ব্যবহারকারীর ডেটা রপ্তানি করা হচ্ছে তা নির্ধারণ করতে ব্যবহৃত হয়।

একটি নির্দিষ্ট পরিষেবা দ্বারা সমর্থিত সমস্ত সংস্থান গোষ্ঠীর একটি তালিকার জন্য, সেই পরিষেবার জন্য স্কিমা রেফারেন্স পৃষ্ঠাটি দেখুন৷

উদাহরণ স্বরূপ, আপনি যদি সার্চ অ্যাক্টিভিটি ডেটা রপ্তানি করেন, তাহলে আপনি কল করুন InitiatePortabilityArchive(resources = ["myactivity.search"]) । অনুরোধে অবশ্যই OAuth স্কোপের সাথে একটি OAuth টোকেন সংযুক্ত থাকতে হবে: https://www.googleapis.com/auth/dataportability.myactivity.search

যদিও একটি একক InitiatePortabilityArchive কলে একাধিক রিসোর্স গ্রুপ অন্তর্ভুক্ত করা সম্ভব, তবে এটি সুপারিশ করা হয় না। আপনি প্রতিটি সংস্থান গোষ্ঠীর জন্য পৃথক InitiatePortabilityArchive অনুরোধ করে দ্রুত প্রক্রিয়াকরণ অর্জন করতে পারেন। মনে রাখবেন যে আপনি যখন একাধিক রিসোর্স গ্রুপের অনুরোধ করেন, তখন সংযুক্ত OAuth টোকেনে অবশ্যই সমস্ত উপযুক্ত স্কোপ সংযুক্ত থাকতে হবে।

উদাহরণস্বরূপ, অনুসন্ধান এবং YouTube কার্যকলাপ উভয়ের জন্য একটি ডেটা সংরক্ষণাগার তৈরি করতে InitiatePortabilityArchive(resources = ["myactivity.search","myactivity.youtube"]) কল করার পরিবর্তে, এই পৃথক কলগুলি করুন: InitiatePortabilityArchive(resources = ["myactivity.search"]) এবং InitiatePortabilityArchive(resources = ["myactivity.youtube"])

InitiatePortabilityArchive অনুরোধ একটি job_id ফেরত দেয়। এই কাজের আইডি ডেটা আর্কাইভের অবস্থা পুনরুদ্ধার করতে ব্যবহার করা হয়।

archiveJobs.getPortabilityArchiveState

archiveJobs.getPortabilityArchiveState পদ্ধতিটিকে ডেটা সংরক্ষণাগার রপ্তানি কাজের বর্তমান অবস্থা পুনরুদ্ধার করতে বলা হয়। আপনি যখন getPortabilityArchiveState কল করেন, আপনি job_id সরবরাহ করেন : GetPortabilityArchiveState(job_id) । আপনাকে অবশ্যই স্কোপ সহ একটি OAuth টোকেন সরবরাহ করতে হবে যা initiate অনুরোধে ব্যবহৃত সংস্থান গোষ্ঠীর সাথে মেলে।

রাজ্যটি COMPLETE হলে, স্বাক্ষরিত ক্লাউড স্টোরেজ URLগুলি ফেরত দেওয়া হয় যা আপনি ডেটা ডাউনলোড করতে ব্যবহার করতে পারেন৷ স্বাক্ষরিত ইউআরএলের মেয়াদ ছয় ঘণ্টা পরে শেষ হয়ে যায় এবং ডেটা 14 দিনের জন্য উপলব্ধ থাকে।

একটি সংরক্ষণাগার অনুরোধটি ডেটার পরিমাণের উপর নির্ভর করে সম্পূর্ণ হতে কয়েক মিনিট, কয়েক ঘন্টা বা এমনকি কয়েক দিন সময় নিতে পারে। আপনি প্রতি পাঁচ থেকে 60 মিনিটে সংরক্ষণাগারের অবস্থা পরীক্ষা করতে পারেন।

পুনরায় সেট করার অনুমোদন

resetAuthorization পদ্ধতি নিম্নলিখিত কাজ করে:

  • সমস্ত ব্যবহারকারী-প্রদত্ত OAuth স্কোপ প্রত্যাহার করে
  • আপনার অ্যাপ্লিকেশানকে একটি রিসোর্স গ্রুপের জন্য InitiatePortabilityArchive কল করার অনুমতি দেয় যা আপনি আগে ব্যবহার করেছিলেন৷
  • পূর্ববর্তী ডেটা সংরক্ষণাগারগুলিতে অ্যাক্সেস সরিয়ে দেয়

আপনি যখন resetAuthorization কল করেন, তখন আপনাকে অবশ্যই একটি সংযুক্ত OAuth টোকেন সরবরাহ করতে হবে যার অনুমোদন আপনি পুনরায় সেট করছেন৷

archiveJobs.retryPortabilityArchive

archiveJobs.retryPortabilityArchive পদ্ধতিটি ব্যর্থ কাজের পুনরায় চেষ্টা করার জন্য বলা হয় যেখানে archiveJobs.getPortabilityArchiveState পদ্ধতিটি ইতিমধ্যেই FAILED অবস্থায় ফিরে এসেছে। এটি ব্যাকএন্ডে একটি ক্ষণস্থায়ী ব্যর্থতার কারণে ঘটতে পারে। সেই ক্ষেত্রে আপনি ব্যবহারকারীর কাছ থেকে একটি নতুন OAuth টোকেন না পেয়ে রপ্তানির পুনরায় চেষ্টা করতে পারেন। আপনি যখন retryPortabilityArchive কল করেন তখন আপনি একটি বৈধ OAuth টোকেন সহ job_id সরবরাহ করেন। শেষপয়েন্ট তারপর প্রাথমিক initiatePortabilityArchive অনুরোধে অনুরোধ করা একই সংস্থান গোষ্ঠীর জন্য একটি রপ্তানি তৈরি করার চেষ্টা করে। সফল হলে, এই এন্ডপয়েন্টটি একটি নতুন job_id ফেরত দেয় যা আপনি getPortabilityArchiveState কলে ব্যবহার করতে পারেন। একটি ব্যর্থ কাজ তিনবার পর্যন্ত পুনরায় চেষ্টা করা যেতে পারে।

উদাহরণ স্বরূপ:

  1. আপনি কল করুন InitiatePortabilityArchive(resources = ["myactivity.search"]) , এবং আপনি job_id: 0 পাবেন।

  2. GetPortabilityArchiveState(0) এ কল করার পর, আপনি JobSate: FAILED

  3. তারপর আপনি RetryPortabilityArchive(0) কল করতে পারেন job_id: 1 resources = ["myactivity.search"]

  4. তারপর, আপনি GetPortabilityArchiveState(1) এ কল করা চালিয়ে যেতে পারেন।