يشرح هذا الدليل كيفية تقديم الطلبات في Google Drive Activity API باستخدام
activity.query
.
مفتاح طلب البحث
هناك طريقتان لطلب النشاط: حسب العنصر في Google Drive أو لجميع المستخدمين. أسفل التسلسل الهرمي للمجلدات.
itemName
: تنسيق هذا المفتاح هو "items/ITEM_ID". عادةً ما تكون هذه ملف في Drive. إذا حدَّدت مجلدًا لهذا المفتاح، سيتم عرض نشاط. للمجلد، مثل وقت إنشائه أو إعادة تسميته.ancestorName
: تنسيق هذا المفتاح هو "items/ITEM_ID"، يتضمن الرد النشاط في جميع العناصر في الشجرة الفرعية أسفل هذه المجلد.
في حال عدم ضبط أي مفتاح، يتم ضبط القيمة التلقائية على استخدام ancestorName
من "items/root". أو
تعرض النشاط لجميع العناصر في Drive.
تقسيم النتائج على عدّة صفحات
يتيح لك الحقل pageSize
طلب عدد تقريبي من الأنشطة.
التي يجب إرجاعها في كل إجابة. سيختلف العدد الفعلي للأنشطة التي تم إرجاعها،
لذلك، يجب أن يتعامل تطبيقك مع الكميات العشوائية في الردّ.
أحجام الصفحات محدودة. إذا كان تطبيقك يحتاج إلى العديد من الأنشطة، يمكنك إجراء
طلبات باستخدام التقسيم على صفحات بدلاً من ضبط قيمة كبيرة في pageSize
.
على وجه التحديد، إذا كان هناك نشاط للجلب أكثر من ما تم تضمينه في
الرد، سيحتوي الرد أيضًا على nextPageToken
. لاسترداد
نتائج أكثر، كرر الطلب نفسه ولكن أضف حقل pageToken
بالقيمة
من nextPageToken
من الرد السابق.
الدمج
غالبًا ما يتم تجميع عناصر Action
وعرضها في عنصر واحد.
مرجع DriveActivity
تحدث بعض مجموعات Action
بشكل تلقائي، مثل نقل
عنصر إلى مجلد مشترك مما يؤدي إلى تغيير الإذن.
يمكنك أيضًا تحديد
ConsolidationStrategy
(يُسمّى أحيانًا التجميع أو التجميع) في الطلب. وهذا يمكّن
مجموعات أخرى من عناصر Action
ذات الصلة، مثل عدة ممثلين يعدّلون أحد العناصر
أو ملف Actor
واحد ينقل عدة ملفات إلى مجلد جديد على Drive.
في حين أن الفرد Action
لديه واحد Actor
وواحد Target
، بعد التجميع،
يمكن أن يضم DriveActivity
الناتج عدة ممثلين واستهدافات متعددة.
ومع ذلك، حتى بعد التجميع، يوجد دائمًا خطأ "أساسي" الإجراء الذي
إما تمثيلية أو الأكثر أهمية لجميع الإجراءات في
DriveActivity
مورد، استنادًا إلى استراتيجية الدمج المطلوبة.
نتيجة لذلك، سواء كان الدمج مفعَّلاً أم لا، قد يكون كافيًا
لعرض محتوى المستوى الأعلى فقط لمورد DriveActivity
(مثل
والجهات المعنية الجماعية والأهداف ضمن primaryActionDetail
) وتجاهُل
الإجراءات التفصيلية في الرد.
الفلاتر
يمكنك حظر الإجراءات التي يمكن عرضها في DriveActivity
.
عن طريق إنشاء سلسلة filter
في طلب activity.query
. هناك
هناك حقلان متوافقان: time
وdetail.action_detail_case
.
الفلترة حسب الوقت
لتقييد الإجراءات حسب النطاق الزمني، حدِّد اسم الحقل time
مع إدراج عددي
عوامل التشغيل على قيم التاريخ، ويربطها بحرف "AND" اختياري. استخدم المللي ثانية منذ 1 يناير 1970 أو
تنسيق RFC 3339، مثل:
time > 1452409200000 AND time <= 1492812924310
time >= "2016-01-10T01:02:03-05:00"
تصفية حسب النوع
للتقييد حسب نوع الإجراء، طبِّق اسم الحقل detail.action_detail_case
مع
"ها" (:
). استخدِم قيمة فردية أو قائمة إجراءات مسموح بها.
بين قوسين ومفصولة بمسافة. للعثور على قائمة الإجراءات
أنواع العناصر، راجِع كائنات ActionDetail
.
لاستبعاد نوع إجراء من الردّ، اتّبِع الخطوات التالية:
إضافة واصلة (-
) في بداية سلسلة الفلتر
في ما يلي بعض الأمثلة على أنواع الإجراءات:
detail.action_detail_case:RENAME
detail.action_detail_case:(CREATE RESTORE)
-detail.action_detail_case:MOVE
النُسخ
يمكن دمج شروط الفلترة هذه ضمن سلسلة filter
واحدة، مثل:
detail.action_detail_case:(CREATE EDIT RESTORE) time > 1452409200000
أمثلة على الطلبات
اطلب أحدث 10 أنشطة لعنصر Drive:
{
"itemName": "items/ITEM_ID",
"pageSize": 10
}
يمكنك طلب أنشطة مدمجة لكل عنصر في Drive ضمن مجلد أصل:
{
"ancestorName": "items/ITEM_ID",
"consolidationStrategy": {
"legacy": {}
}
}
طلب كل إجراءات MOVE
وRENAME
على عنصر في Drive:
{
"itemName": "items/ITEM_ID",
"filter": "detail.action_detail_case:(MOVE RENAME)"
}
اطلب كل الأنشطة منذ 1 كانون الثاني (يناير) 2018 بالتوقيت الرسمي الشرقي:
{
"ancestorName": "items/root",
"filter": "time >= \"2018-01-01T00:00:00-05:00\""
}
يمكنك طلب كل الأنشطة، باستثناء EDIT
إجراء، خلال حزيران (يونيو) 2017 بالتوقيت العالمي المنسق (UTC):
{
"ancestorName": "items/root",
"filter": "time >= \"2018-06-01T00:00:00Z\" time < \"2018-07-01T00:00:00Z\" -detail.action_detail_case:EDIT"
}