دریافت تغییرات فایلها برای همگامسازی
https://api.parsget.com/api/v1/files/changesبرای پیگیری درخواست در لاگها، یک شناسه بین ۱ تا ۱۰۰ کاراکتر بفرستید. اگر این هدر را نفرستید، سرور شناسه میسازد.
هدرهای استانداردچه زمانی: اگر برنامه شما نسخهای از فایلها و پوشههای حساب را نزد خود نگه میدارد، مثلاً کتابخانه فیلم یا فهرست جستوجو، بهجای خواندن دوباره همه فایلها از این endpoint استفاده کنید. برای نمایش محتوای یک پوشه، GET /files کافی است.
بار اول: بدون cursor درخواست بدهید تا همه فایلها و پوشههای موجود، از همه پوشهها، برگردند. تا وقتی has_more برابر true است، صفحه بعد را با cursor برابر meta.next_cursor بگیرید.
دفعات بعد: آخرین meta.next_cursor را ذخیره کنید و در درخواست بعدی بفرستید. فقط مواردی برمیگردند که از آن زمان تغییر کردهاند. اگر تغییری نباشد، فهرست خالی است. این درخواست برای سرور سبک است و میتوانید آن را مرتب، مثلاً هر ۳۰ تا ۶۰ ثانیه، تکرار کنید.
فایلهای جدید یا تغییرکرده: هر فایل یا پوشهای که ایجاد، تغییرنام، جابهجا یا ویرایش شده باشد، با deleted=false و همان فیلدهای GET /files میآید. اگر این id را از قبل دارید، اطلاعات قبلی را با این نسخه جایگزین کنید؛ در غیر این صورت آن را اضافه کنید. دانلود شدن فایل تغییر حساب نمیشود.
فایلهایی که باید حذف شوند: فایل یا پوشهای که حذف شده، در صف حذف است یا دیگر جزو kind ارسالی شما نیست، فقط با id، parent_id و deleted=true میآید. آن را از نسخه خودتان حذف کنید؛ اگر این id را ندارید، کاری لازم نیست.
پوشهها: وقتی فایلی به پوشهای اضافه یا از آن خارج شود، خود پوشه هم با updated_at جدید در نتیجه میآید.
تکرار: ممکن است یک مورد در چند پاسخ بیاید. خطا نیست؛ همان کار بالا را دوباره انجام دهید تا آخرین وضعیت در نسخه شما بماند.
شروع دوباره: پاسخ 410 با کد cursor_expired یعنی تغییرات پس از cursor شما دیگر قابل گزارش نیست، مثلاً پس از حذف دائمی فایلها. پاسخ 422 برای cursor یعنی مقدار آن تغییر کرده یا ناقص است. در هر دو حالت cursor را کنار بگذارید و بدون cursor از ابتدا شروع کنید.
ثابت نگهداشتن درخواست: در همه درخواستهای یک همگامسازی، همان kind، include_media و include_poster را بفرستید.
OAuth Scope: files:read
Parameters
| Field | Type | Description |
|---|---|---|
include_poster | boolean · queryoptionaldefault false | برای دریافت آدرس و مشخصات پوستر ویدیو، مقدار true بفرستید. پیشفرض false است و فیلد poster در پاسخ نمیآید. اگر پوستر را درخواست کنید اما موجود نباشد، مقدار آن null است. |
include_media | boolean · queryoptionaldefault false | برای دریافت مشخصات صوتی و تصویری ویدیو در فیلد media، مقدار true بفرستید. پیشفرض false است و این فیلد در پاسخ نمیآید. |
limit | integer · queryoptionaldefault 100min 1max 100 | تعداد موارد در هر صفحه؛ پیشفرض و حداکثر ۱۰۰ مورد. |
cursor | string · queryoptional | بار اول نفرستید. پس از آن، meta.next_cursor آخرین پاسخ را بدون تغییر بفرستید. |
kind | string · queryoptional | فقط این نوعها را برگرداند؛ یک یا چند نوع، جداشده با ویرگول، مانند folder,video. با cursor، فایلی که دیگر جزو این نوعها نیست با deleted=true میآید. |
Response schema
object[]objectمقدار meta.next_cursor را بدون تغییر در پارامتر cursor درخواست بعدی ارسال کنید. وقتی meta.has_more برابر false شد، به انتهای فهرست رسیدهاید.
error