تقنية

Google Drive Monitor – احصل على تنبيهات عبر البريد الإلكتروني عند حذف الملفات في Drive


عندما تحذف ملفًا في Google Drive، فإنه ينتقل إلى مجلد المهملات ويبقى هناك إلى أجل غير مسمى حتى تقوم بإفراغ سلة المهملات يدويًا. كان هذا هو الحال دائمًا، ولكن في وقت ما من هذا الشهر، أجرت Google تغييرًا مهمًا واحدًا على كيفية عمل سلة المهملات.

وبموجب السياسة الجديدة، يتم تلقائيًا حذف الملفات التي كانت موجودة في سلة مهملات Google Drive لأكثر من 30 يومًا. يساعد هذا التنظيف التلقائي في استعادة المساحة، ولكن إذا قمت عن طريق الخطأ بحذف بعض الملفات أو المجلدات المهمة من Google Drive، فلا توجد طريقة لاستعادتها من سلة المهملات بعد فترة 30 يومًا.

مراقبة ملفات جوجل درايف

إذا كنت مثلي تشعر بالرعب من احتمال فقدان الملفات المهمة التي تم حذفها عن طريق الخطأ إلى الأبد، فيمكن أن يساعدك Google Drive Watch.

Google Drive Watch عبارة عن برنامج Google Script مفتوح المصدر يقوم تلقائيًا بمراقبة Google Drive الخاص بك ويرسل إشعارات البريد الإلكتروني اليومية مع قائمة مفصلة بالملفات التي تم حذفها في اليوم السابق.

إليك نموذج إشعار عبر البريد الإلكتروني أرسله برنامج Google Drive Watch.

تتضمن رسالة البريد الإلكتروني رابط الملف، وتاريخ إنشاء الملف لأول مرة، والاسم/عنوان البريد الإلكتروني لحساب Google الذي قام بتعديل الملف وحذفه آخر مرة. يقوم بمراقبة الملفات الموجودة في Google Drive العادي بالإضافة إلى مجلدات Shared Drive.

شاهد Google Drive الخاص بك

إليك كيفية إعداد ساعة Google Drive لحساب Google الخاص بك في بضع خطوات سهلة:

  1. انقر هنا لعمل نسخة من برنامج Google النصي في Google Drive الخاص بك.

  2. داخل محرر البرنامج النصي، انتقل إلى line #9 وحدد عنوان البريد الإلكتروني الذي تريد تلقي إشعارات Drive عليه. يمكنك أيضًا وضع رسائل بريد إلكتروني متعددة مفصولة بفواصل.

  3. سيقوم البرنامج النصي، افتراضيًا، بإنشاء مهمة cron التي سيتم تشغيلها مرة واحدة يوميًا في الساعة المحددة. ومع ذلك، إذا كنت ترغب في تغيير التكرار بحيث تصل الإشعارات، على سبيل المثال، كل 5 أيام، فيمكنك تحديد 5 في line #10.

  4. نحن تقريبا هناك. انتقل إلى قائمة “تشغيل” واختر “تمكين Drive Watch” لتمكين شاشة Drive الخاصة بك. اسمح للبرنامج النصي بالوصول إلى ملفك وستكون جاهزًا تمامًا.

قم بتكوين البريد الإلكتروني لساعة Google Drive

مهم: لن يصل إشعار البريد الإلكتروني الأول إلا في اليوم التالي في الساعة المحددة.

كيف تعمل مراقبة Google Drive

الكود المصدري للبرنامج النصي لمراقبة Google Drive متاح على Github.

داخليًا، يستخدم البرنامج النصي Google Drive API مع Google Apps Script لمراقبة التغييرات في Google Drive. ثم يقوم بعد ذلك بإعداد مهمة cron يومية، باستخدام المشغلات في Google Scripts، والتي ترسل البريد الإلكتروني في حالة العثور على تغييرات جديدة في الملف.

عند تشغيل البرنامج النصي لأول مرة، فإنه يحصل على رمز مميز لصفحة البداية وسيتم مراقبة جميع التغييرات التي يتم إجراؤها على Google Drive بعد جلب هذا الرمز المميز بواسطة البرنامج النصي. وضعنا supportsAllDrives إلى true نظرًا لأن النص البرمجي يجب أن يراقب المجلدات في مساحات Drive المشتركة أيضًا.

function getPageToken() {
  const store = PropertiesService.getScriptProperties();
  const token = store.getProperty("token");
  if (token) return token;
  const { startPageToken } = Drive.Changes.getStartPageToken({
    supportsAllDrives: true,
  });
  store.setProperty("token", startPageToken);
  return startPageToken;
}

ال change.list تجلب نقطة نهاية Google Drive API جميع التغييرات التي تم إجراؤها على Drive الخاص بالمستخدم المعتمد منذ الرمز المميز لصفحة البداية. قمنا أيضًا بتعيين fields خاصية للحد من خصائص الملف المتوفرة في الاستجابة. ال newStartPageToken الذي تم إرجاعه في الاستجابة سيصبح الرمز المميز للصفحة الجديدة للمكالمات المستقبلية إلى Drive API.

const fields = `newStartPageToken,
  items(file(id,title,labels(trashed),
  iconLink,mimeType,createdDate,ownedByMe,
  lastModifyingUser(emailAddress,displayName,picture(url)),
  alternateLink, fileSize))`;

const { newStartPageToken, items = [] } = Drive.Changes.list({
  fields,
  pageToken: getPageToken(),
  includeItemsFromAllDrives: true,
  pageSize: 100,
  supportsAllDrives: true,
});

if (newStartPageToken) {
  propertyStore.setProperty("token", newStartPageToken);
}

ال items يحتوي المصفوفة على قائمة بالملفات التي تم تعديلها منذ آخر تشغيل. يتضمن هذا أيضًا الملفات الجديدة التي تمت إضافتها والملفات القديمة التي تم تحريرها بواسطة المستخدمين. نظرًا لأننا مهتمون فقط بالملف الذي تم إرساله إلى المهملات، فسنقوم بتصفية جميع الملفات من الاستجابة باستثناء تلك التي تم إرسالها إلى المهملات.

const filteredItems = items
  .map(({ file }) => file)
  // Only interested in files where "I" am the owner
  .filter(({ ownedByMe }) => ownedByMe)
  // Only interested in files that have been "trashed"
  .filter(({ labels: { trashed } = {} }) => trashed === true)
  // Only return fields that are sent by email
  .map(file => {
    const { iconLink, alternateLink, title, lastModifyingUser = {}, createdDate, fileSize } = file;
    return { iconLink, alternateLink, title, createdDate, fileSize };
  });

الآن بعد أن أصبح لدينا مجموعة من الملفات التي تم حذفها من قبل المستخدم منذ آخر تشغيل، يمكننا استخدام خدمة Gmail لإعلام المستخدم.

راجع أيضًا: حيل عنوان URL لـ Google Drive



Source link

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

زر الذهاب إلى الأعلى