تقنية

إدارة محركات الأقراص المشتركة في Google Drive باستخدام Google Apps Script


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

للبدء، انقر فوق + في قسم الخدمات لإضافة بحث Drive API إلى مشروع Google الخاص بك. يدعم Google Apps Script حاليًا Drive API v2 على الرغم من أن الإصدار الأحدث هو v3.

بمجرد تمكين خدمة Drive API، يمكنك استخدام Drive API للبحث في محتوى محركات الأقراص المشتركة.

إنشاء مساحة Drive مشتركة

function createSharedDrive() {
  const driveName = 'Digital Inspiration';
  const sharedDrive = Drive.Drives.insert({ name: driveName }, Utilities.getUuid());
  console.log('Shared Drive created', sharedDrive.id);
}

مشاركة مساحة Drive مشتركة مع مستخدم

function shareSharedDriveWithUser({ driveId, role, email }) {
  // role can be writer, reader, organizaer or commenter
  const response = Drive.Permissions.insert(
    {
      role: role,
      type: 'user',
      value: email
    },
    driveId,
    {
      supportsAllDrives: true,
      sendNotificationEmails: true,
      fields: 'emailAddress,role'
    }
  );
  console.log('Shared Drive shared with %s', response.emailAddress);
}

يرجى ملاحظة أنه لا يمكنك مشاركة Drive المشترك إلا مع حسابات Google. لن تقوم واجهة برمجة التطبيقات (API) بإصدار استثناء إذا حاولت مشاركة مساحة تخزين مشتركة مع حساب غير تابع لـ Google.

قائمة بجميع محركات الأقراص المشتركة

اطبع قائمة بجميع محركات الأقراص المشتركة التي يمكن للمستخدم الحالي الوصول إليها.

function listSharedDrives() {
  let pageToken = null;
  const response = [];

  do {
    const { items = [], nextPageToken = null } = Drive.Drives.list({
      pageToken,
      maxResults: 50,
      orderBy: 'name',
      fields: 'nextPageToken, items(id, name)'
    });
    items.forEach((item) => response.push(item));
    pageToken = nextPageToken;
  } while (pageToken !== null);

  console.log(response);
}

قائمة الملفات في مساحة Drive المشتركة

في المثال التالي، سنقوم بطباعة قائمة بجميع الملفات الموجودة في محرك أقراص مشترك محدد تم تحديده بواسطة معرف محرك الأقراص الخاص به والذي استردناه في المثال السابق.

function listFilesInSharedDrive(teamDriveId) {
  let pageToken = null;
  const response = [];

  do {
    const { items = [], nextPageToken = null } = Drive.Files.list({
      pageToken,
      maxResults: 50,
      supportsAllDrives: true,
      includeItemsFromAllDrives: true,
      q: `'${teamDriveId}' in parents and trashed = false and mimeType != 'application/vnd.google-apps.folder'`,
      fields: 'nextPageToken, items(id,title,mimeType)'
    });
    items.forEach((item) => response.push(item));
    pageToken = nextPageToken;
  } while (pageToken !== null);

  console.log(response);
}

نقل الملفات في مساحات Drive المشتركة

يمكن نقل الملفات الموجودة في مساحة Drive مشتركة محددة إلى مساحة Drive مشتركة أخرى أو إلى مجلد آخر في نفس مساحة Drive المشتركة بناءً على الأذونات.

function moveFilesBetweenSharedDrives({ parentFolderId, destinationFolderId, fileId }) {
  const data = Drive.Files.update({}, fileId, null, {
    addParents: destinationFolderId,
    removeParents: parentFolderId,
    supportsAllDrives: true,
    fields: 'title,embedLink'
  });
  console.log('File Moved', data.title, data.embedLink);
}

ال getCanMoveItemOutOfDrive() يمكن استخدام الطريقة لتحديد ما إذا كان المستخدم الحالي يمكنه نقل هذا العنصر خارج محرك الأقراص هذا عن طريق تغيير الأصل الخاص به.

نسخ الملفات في مساحات Drive المشتركة

يوضح المقتطف التالي كيف يمكنك نسخ الملفات من محرك أقراص مشترك إلى آخر أو بين مجلدات محرك الأقراص نفسه. ال destinationFolerId هو معرف المجلد الذي سيتم نسخ الملف إليه.

function copyFilesInSharedDrives({ title, destinationFolderId, fileId }) {
  const data = Drive.Files.copy({ parents: [{ id: destinationFolderId }], title }, fileId, {
    supportsAllDrives: true,
    fields: 'title,embedLink'
  });
  console.log('File Copied', data.title, data.embedLink);
}



Source link

اترك تعليقاً

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

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