إدارة محركات الأقراص المشتركة في 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);
}