نقل البيانات من الإصدار 1 من واجهة برمجة تطبيقات النشاط في Drive

يوضّح هذا الدليل الاختلافات بين الإصدار 1 والإصدار 2 من Google Drive Activity API، وكيفية تغيير تطبيقك المتوافق مع الإصدار 1 لكي يتوافق مع الإصدار 2 من واجهة برمجة التطبيقات.

التفويض

استخدمت واجهة برمجة التطبيقات من الإصدار 1 النطاق التالي:

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

تتطلّب واجهة برمجة التطبيقات v2 أحد النطاقات التالية:

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

أسماء الموارد

في الإصدار 1 من واجهة برمجة التطبيقات، كانت معرّفات العناصر، مثل عناصر Google Drive والمستخدمين، سلاسل غير شفافة. في واجهة برمجة التطبيقات من الإصدار 2، تتم الإشارة عادةً إلى هذه العناصر باستخدام أسماء الموارد. لمزيد من المعلومات، يُرجى الاطّلاع على دليل تصميم واجهة برمجة تطبيقات Cloud API .

يمكن تحويل هذه المعرّفات بشكل عام. على سبيل المثال، تتم الإشارة إلى عناصر Drive في واجهة برمجة التطبيقات v2 باستخدام اسم المورد items/ITEM_ID_V1.

الطلبات

يشبه تنسيق الطلب في الإصدار 2 تنسيق الإصدار 1. على وجه التحديد، لا يزال بإمكانك طلب نشاط لملف Drive أو ملف أساسي في Drive، ولكن عليك تنسيق مَعلمات الطلب هذه على أنّها أسماء موارد من خلال البادئة items/.

تم تغيير اسم "التجميع" إلى التجميع، وتمّت إزالة مَعلمتَي الطلب source و userId.

تتوفّر أيضًا خيارات فلترة جديدة تسمح لك بتقييد أنواع بيانات النشاط التي يتم عرضها في الاستجابة.

المهام

في الإصدار 1 من واجهة برمجة التطبيقات، كان نوع النشاط والبيانات المرتبطة به في حقول منفصلة. على سبيل المثال، إذا كان حقل primaryEventType يحتوي على القيمة move، ستفترض التطبيقات أنّه تمت تعبئة حقل move من المستوى الأعلى بوالدَين تمت إضافتهما وإزالتهما.

في الإصدار 2 من واجهة برمجة التطبيقات، لم تعُد هذه الحقول متمايزة. تحتوي رسالة ActionDetail على حقل واحد فقط تم ضبطه. ويشير إلى نوع الإجراء ويحتوي على التفاصيل المرتبطة بهذا الإجراء. على سبيل المثال، لا يضبط العنصر ActionDetail الذي يمثّل عملية نقل سوى الحقل move، ويسرد هذا الحقل العناصر الوالدة التي تمت إضافتها أو إزالتها.

يتطابق حقل primaryEventType في الإصدار 1 من واجهة برمجة التطبيقات تقريبًا مع الحقل primaryActionDetail في الإصدار 2.

Actors

في الإصدار 1 من واجهة برمجة التطبيقات، كان النشاط المعروض يحتوي على User إذا كان الفاعل هو مستخدم معروف، وكان يحتوي اختياريًا على حقل من المستوى الأعلى مثل fromUserDeletion للحالات الخاصة.

في واجهة برمجة التطبيقات من الإصدار 2، تتوفّر مجموعة أكثر تنوعًا من أنواع Actor، ويتم تعبئة user.knownUser عندما يكون الفاعل مستخدمًا معروفًا. إذا كان تطبيقك بحاجة إلى معلومات مفصّلة عن المستخدمين، يمكنه طلبها من People API من خلال تمرير الحقل KnownUser personName إلى طريقة people.get.

الأهداف

في الإصدار 1 من واجهة برمجة التطبيقات، كانت الاستهدافات دائمًا عناصر Drive. في الإصدار 2 من واجهة برمجة التطبيقات، يمكن أن تكون الاستهدافات أنواعًا أخرى من العناصر في Drive. على سبيل المثال، يكون للتغييرات التي تطرأ على مساحة تخزين نوع استهداف هو Drive. لا يزال المجلد الجذر لمساحة تخزين سحابي مشتركة يظهر (بصفته DriveItem في حقل root)، ولكنه ليس الهدف المباشر للنشاط. ينطبق مصطلح مماثل على موارد FileComment التي يشير حقل parent فيها إلى ملف Drive الذي يحتوي على سلسلة المحادثات المستهدفة للتعليق.

النشاط المجمّع

في الإصدار 1 من واجهة برمجة التطبيقات، تغيّر أسلوب الردّ عند ضبط استراتيجية دمج (أو "تجميع"). على وجه التحديد، عند تفعيل الدمج، كان كلّ نشاط يحتوي على singleEvents المكوّن وcombinedEvent الذي يلخّص النشاط المشترَك بين هذه الأحداث المكوّنة. عندما كان الدمج متوقفًا، كان الحقل combinedEvent يحتوي على الحدث الأصلي غير المدمج لكل نشاط. يمكن أن يمثّل أيّ من هذه الأحداث أكثر من إجراء واحد، مثل الإنشاء والمشاركة.

في الإصدار 2 من واجهة برمجة التطبيقات، لا يتغيّر أسلوب الاستجابة استنادًا إلى استراتيجية الدمج، لأنّ العنصر المُعاد DriveActivity يحتوي دائمًا على المجموعة الكاملة من الجهات الفاعلة والاستهدافات والإجراءات.