يشرح هذا الدليل المكونات الأساسية للردود في Google Drive Activity API. لعرض الأمثلة وكيفية تفسيرها.
أغراض
DriveActivity
: المورد الأساسي الذي تعرضه طلبات البحث في Drive Activity API. أُنشأها جون هنتر، الذي كان متخصصًا تصف ممثلًا واحدًا أو أكثر ينفذ إجراءً أو أكثر يؤثر في واحد أو المزيد من الأهداف.Timestamp
وTimeRange
: على التوالي، إما نقطة واحدة في وقت النشاط أو في بداية ونهاية وقت حدوث النشاط على مدى فترة الوقت.Actor
: عادةً ما تكونActor
: المستخدم النهائي. ومع ذلك، في بعض الأحيان، يمكن أن يؤدي حدث في النظام إلى تشغيلAction
عندما يؤدي دور المشرف المستخدم أو الأداء نفسه أو عندما ينفذها شخص لا يمكن التعرف عليه. تشير رسالة الأشكال البيانية تضم رسالةActor
كل حالة من هذه الحالات.Target
:Target
هو الكائن. نشاط، مثل ملف أو مجلد أو مساحة تخزين سحابي مشتركة أو تعليق على ملف تجدر الإشارة إلى أنّ العديد من أنواع الإجراءات يتيح استخدام أكثر من نوع واحد من الاستهداف. بالنسبة على سبيل المثال، على الرغم من تطبيقEdit
بشكل عام على ملفات Drive، إلا أن خيارات أخرى يمكن أن تنطبق إجراءات مثلRename
وCreate
على Drive أيضًا. ومساحات التخزين السحابي المشتركة. الأهداف التي لا تمثّل عناصر في Drive يظل بإمكانك الرجوع إلى ملف، مثل المجلد الجذر في Drive أو المجلد الرئيسي مستند يحتوي على تعليق على ملف.Action
: كلDriveActivity
يتضمن المورد إجراءً واحدًا أو أكثر ذي صلة.Action
مستقلة، مثل الحدث، من حيث أنه لا يحتوي فقط على النوع والمعلومات التفصيلية عن الإجراء، وأيضًا عنActor
وTarget
وإماTimestamp
أوTimeRange
. لتجنُّب التكرار، لا يملأAction
حقله الخاص. الحقل "Target
" أو "Actor
" أو "الوقت" عندما تكون هذه الحقول متطابقة مع الحقول الإجماليةDriveActivity
ActionDetail
: النوع المحدد ومعلومات تفصيلية حولAction
. على سبيل المثال، تحتوي تفاصيل الإجراء "Move
" على الموقع الجغرافي للمصدر والوجهة، بالإضافة إلى يحددPermissionChange
المستخدمين الذين يمكنهم الآن الوصول إلى مستند والبيانات الامتيازات.
أمثلة للردود
عدَّل مستخدم ملفًا في Drive:
قد يتضمن مورد DriveActivity
البسيط إجراءً واحدًا فقط، مثل مستخدم
وتحرير ملف واحد.
"activities":[{
"primary_action_detail":{ "edit":{} },
"actors":[ { "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID" } } } ],
"targets":[ { "drive_item":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } } ],
"timestamp":{ "seconds":"1536794657", "nanos":791000000 },
"actions":[ { "detail":{ "edit":{} } } ]
}]
يتضمن هذا الإخراج القيم التالية:
- ACCOUNT_ID: رقم تعريف المستخدم يمكن استخدامه مع People API للاطّلاع على مزيد من المعلومات
- ITEM_ID: رقم تعريف عنصر Drive
- TITLE: عنوان عنصر Drive
يُرجى العِلم أنّ Action
في هذا الرد لا تتضمّن Actor
أو Target
أو TimeStamp
لأنها مماثلة لـ DriveActivity
الإجمالية.
عدّل مستخدمان الملف نفسه في أوقات متشابهة:
عند تفعيل ميزة الدمج، يتم تجميع الإجراءات ذات الصلة في إجراء واحد
DriveActivity
في هذا المثال، تم تجميع إجراءَين مشابهَين: أحدهما Edit
نوع الإجراء من مستخدمين مختلفين.
"activities":[{
"primary_action_detail":{ "edit":{} },
"actors":[
{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_1" } } },
{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_2" } } }
],
"targets":[
{ "drive_item":{ "name":"items/ITEM_ID", "title":"TITLE", "file":{} } }
],
"time_range":{
"start_time":{ "seconds":"1541089823", "nanos":712000000 },
"end_time":{ "seconds":"1541089830", "nanos":830000000 }
},
"actions":[
{
"detail":{ "edit":{} },
"actor":{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_1" } } },
"timestamp":{ "seconds":"1541089830", "nanos":830000000 }
},
{
"detail":{ "edit":{} },
"actor":{ "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID_2" } } },
"timestamp":{ "seconds":"1541089823", "nanos":712000000 }
}
]
}]
يتضمن هذا الإخراج القيم التالية:
- ACCOUNT_ID_1: رقم تعريف المستخدم الأول يمكن استخدامها مع People API للاطّلاع على مزيد من المعلومات
- ACCOUNT_ID_2: رقم تعريف المستخدم الثاني
- ITEM_ID: رقم تعريف عنصر Drive
- TITLE: عنوان عنصر Drive
لاحظ أن الإجراءات في هذا الرد لا تتضمن Target
لأنه
نفس القيمة الإجمالية لـ DriveActivity
.
يوضح المثال أيضًا كيف يمكن للتطبيقات استخدام المعلومات الموجزة فقط في
DriveActivity
، بدون الاطّلاع على الإجراءات الفردية الردّ
يشير إلى أنّ مستخدمَين عدّلا ملفًا معيّنًا خلال فترة زمنية.
نقل مستخدم ملفَين إلى دليل جديد:
في هذا المثال، جمّعت استراتيجية الدمج إجراءَين مرتبطَين بـ Move
.
لأنه تم نقل الملفات من المصدر نفسه إلى الوجهة نفسها
في نفس الوقت.
"activities":[{
"primary_action_detail":{
"move":{
"added_parents":[ { ... } ]
"removed_parents":[ { ... } ]
}
},
"actors":[ { "user":{ "known_user":{ "person_name":"people/ACCOUNT_ID" } } } ],
"targets":[
{ "drive_item":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } },
{ "drive_item":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
],
"timestamp":{ "seconds":"1541090960", "nanos":985000000 },
"actions":[
{
"detail":{ "move":{ "added_parents":[ { ... } ] "removed_parents":[ { ... } ] } },
"target":{ "drive_item":{ "name":"items/ITEM_ID_1", "title":"TITLE_1", "file":{} } }
},
{
"detail":{ "move":{ "added_parents":[ { ... } ] "removed_parents":[ { ... } ] } },
"target":{ "drive_item":{ "name":"items/ITEM_ID_2", "title":"* TITLE_2", "file":{} } }
}
]
}]
يتضمن هذا الإخراج القيم التالية:
- ACCOUNT_ID: رقم تعريف المستخدم يمكن استخدامه مع People API للاطّلاع على مزيد من المعلومات
- ITEM_ID_1: رقم تعريف العنصر الأول في Drive
- ITEM_ID_2: رقم تعريف عنصر Drive الثاني
- TITLE_1: عنوان العنصر الأول في Drive
- TITLE_2: عنوان العنصر الثاني في Drive
يُرجى العلم أنّ الإجراءات في هذا الرد لا تشمل Actor
أو TimeStamp
.
لأنها تماثل DriveActivity
الإجمالية.