Data Portability 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 پیوست شده باید دارای تمام محدودههای مناسب باشد.
برای مثال، بهجای فراخوانی InitiatePortabilityArchive(resources = ["myactivity.search","myactivity.youtube"])
برای ایجاد یک آرشیو داده برای هر دو فعالیت جستجو و 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
روش resetAuthorization
کارهای زیر را انجام می دهد:
- همه دامنه های OAuth اعطا شده توسط کاربر را لغو می کند
- به برنامه شما اجازه میدهد تا
InitiatePortabilityArchive
برای گروه منابعی که قبلاً استفاده میکردید فراخوانی کند - دسترسی به آرشیو داده های قبلی را حذف می کند
وقتی با resetAuthorization
تماس می گیرید، باید یک نشانه OAuth پیوست شده برای کاربری که مجوزش را بازنشانی می کنید، ارائه دهید.
archiveJobs.retryPortabilityArchive
متد archiveJobs.retryPortabilityArchive
برای امتحان مجدد کارهای ناموفق فراخوانی می شود که در آن روش archiveJobs.getPortabilityArchiveState
قبلاً وضعیت FAILED
را برگردانده است. این ممکن است به دلیل خرابی گذرا در باطن رخ دهد. در این صورت میتوانید بدون دریافت کد OAuth جدید از کاربر، صادرات را دوباره امتحان کنید. وقتی با retryPortabilityArchive
تماس می گیرید job_id
همراه با یک توکن معتبر OAuth ارائه می دهید. سپس نقطه پایانی سعی میکند برای همان گروههای منبع درخواست شده در درخواست اولیه initiatePortabilityArchive
یک صادرات ایجاد کند. در صورت موفقیت، این نقطه پایانی job_id
جدیدی را برمیگرداند که میتوانید از آن در تماسهای getPortabilityArchiveState
استفاده کنید. یک کار شکست خورده را می توان تا سه بار دوباره امتحان کرد.
مثلا:
شما با
InitiatePortabilityArchive(resources = ["myactivity.search"])
تماس می گیرید وjob_id: 0
دریافت می کنید.پس از تماس با
GetPortabilityArchiveState(0)
،JobSate: FAILED
.سپس میتوانید
RetryPortabilityArchive(0)
برای دریافتjob_id: 1
برایresources = ["myactivity.search"]
تماس بگیرید.سپس، می توانید به برقراری تماس با
GetPortabilityArchiveState(1)
ادامه دهید.