مهاجرت از Drive Activity API v1

این راهنما تفاوت های بین Google Drive Activity API v1 و v2 و نحوه تغییر برنامه v1 خود را برای پشتیبانی از v2 API توضیح می دهد.

مجوز

v1 API از این محدوده استفاده می کند:

  • https://www.googleapis.com/auth/activity

v2 API به یکی از حوزه های زیر نیاز دارد:

  • https://www.googleapis.com/auth/drive.activity
  • https://www.googleapis.com/auth/drive.activity.readonly

نام منابع

در v1 API، شناسه‌های اشیایی مانند موارد Google Drive و کاربران رشته‌های مات بودند. در v2 API، این اشیا معمولاً با استفاده از نام منابع ارجاع داده می شوند. برای اطلاعات بیشتر، به راهنمای طراحی Cloud API مراجعه کنید.

این شناسه ها به طور کلی قابل تبدیل هستند. برای مثال، آیتم‌های Drive در API v2 با استفاده از items/ ITEM_ID_V1 ارجاع می‌شوند.

درخواست ها

فرمت درخواست برای v2 مشابه فرمت v1 است. به طور خاص، همچنان می‌توانید برای یک فایل Drive یا یک اجداد Drive درخواست فعالیت کنید، هرچند توجه داشته باشید که باید آن پارامترهای درخواست را به‌عنوان نام منابع با پیشوند کردن items/ .

«گروه‌بندی» اکنون Consolidation نامیده می‌شود و پارامترهای درخواست source و userId حذف شده‌اند.

همچنین گزینه‌های فیلتر جدیدی وجود دارد که به شما امکان می‌دهد انواع داده‌های فعالیتی که در پاسخ بازگردانده می‌شوند را محدود کنید.

اقدامات

در v1 API، نوع فعالیت و داده های مرتبط با آن فعالیت، در فیلدهای جداگانه قرار داشتند. برای مثال، اگر فیلد primaryEventType حاوی مقدار move باشد، برنامه‌ها فرض می‌کنند که یک فیلد move سطح بالا با والدین اضافه و حذف شده پر شده است.

در v2 API، این فیلدها دیگر متمایز نیستند. پیام ActionDetail دقیقاً یک مجموعه فیلد دارد. این نوع عمل را نشان می دهد و شامل جزئیات مربوط به آن عمل است. برای مثال، یک ActionDetail که یک حرکت را نشان می‌دهد، فقط فیلد move را تنظیم می‌کند و آن فیلد والدین اضافه و حذف شده را فهرست می‌کند.

قسمت v1 API primaryEventType تقریباً با v2 primaryActionDetail مطابقت دارد.

بازیگران

در API v1، اگر بازیگر یک User شناخته شده بود، فعالیت بازگشتی حاوی یک کاربر بود و به صورت اختیاری حاوی یک فیلد سطح بالا مانند fromUserDeletion برای موارد خاص بود.

در v2 API، مجموعه غنی‌تری از انواع Actor موجود است و user.knownUser زمانی پر می‌شود که بازیگر یک کاربر شناخته شده باشد. اگر برنامه شما به اطلاعات دقیق درباره کاربران نیاز دارد، می‌تواند با ارسال فیلد KnownUser personName به متد people.get ، آن را از People API استعلام کند.

اهداف

در API v1، اهداف همیشه موارد Drive بودند. در v2 API، اهداف می توانند انواع دیگری از اشیاء در Drive باشند. به عنوان مثال، تغییرات یک درایو دارای یک نوع Drive هدف است. پوشه ریشه یک درایو مشترک هنوز برگردانده می شود (به عنوان یک DriveItem در فیلد root )، اما هدف فوری فعالیت نیست. مفهوم مشابهی برای یک منبع FileComment اعمال می‌شود، که فیلد parent آن به آیتم Drive حاوی رشته نظر هدف اشاره دارد.

فعالیت تلفیقی

در API v1، زمانی که یک استراتژی تثبیت ("گروه بندی") تنظیم شد، سبک پاسخ تغییر کرد. به طور خاص، زمانی که Consolidation روشن شد، هر فعالیت شامل singleEvents تشکیل دهنده و یک combinedEvent بود که فعالیت مشترک را در بین آن رویدادهای تشکیل دهنده خلاصه می کرد. وقتی ادغام غیرفعال شد، فیلد combinedEvent حاوی رویداد ادغام نشده اصلی برای هر فعالیت بود. هر یک از این رویدادها می تواند بیش از یک عمل را نشان دهد، مانند ایجاد به همراه یک اشتراک.

در v2 API، سبک پاسخ بر اساس استراتژی تلفیق تغییر نمی کند، زیرا DriveActivity بازگشتی همیشه شامل مجموعه کاملی از بازیگران، اهداف و اقدامات است.