با مجموعهها، منظم بمانید
ذخیره و دستهبندی محتوا براساس اولویتهای شما.
سرویس پیشرفته Drive به شما امکان می دهد از Google Drive API در Apps Script استفاده کنید. بسیار شبیه به سرویس Drive داخلی Apps Script، این API به اسکریپتها اجازه میدهد تا فایلها و پوشهها را در Google Drive ایجاد، پیدا و تغییر دهند. در بیشتر موارد، استفاده از سرویس داخلی آسانتر است، اما این سرویس پیشرفته چند ویژگی اضافی از جمله دسترسی به ویژگیهای فایل سفارشی و همچنین ویرایش فایلها و پوشهها را فراهم میکند.
مرجع
برای اطلاعات دقیق در مورد این سرویس، به مستندات مرجع برای Google Drive API مراجعه کنید. مانند همه سرویسهای پیشرفته در Apps Script، سرویس پیشرفته Drive از همان اشیا، روشها و پارامترهای API عمومی استفاده میکند. برای اطلاعات بیشتر، نحوه تعیین امضای روش را ببینید.
/** * Uploads a new file to the user's Drive. */functionuploadFile(){try{// Makes a request to fetch a URL.constimage=UrlFetchApp.fetch('http://goo.gl/nd7zjB').getBlob();letfile={name:'google_logo.png',mimeType:'image/png'
};// Create a file in the user's Drive.file=Drive.Files.create(file,image,{'fields':'id,size'});console.log('ID:%s,Filesize(bytes):%s',file.id,file.size);}catch(err){// TODO (developer) - Handle exceptionconsole.log('Failedtouploadfilewitherror%s',err.message);}}
لیست پوشه ها
نمونه کد زیر نحوه فهرست کردن پوشههای سطح بالا در Drive کاربر را نشان میدهد. به استفاده از نشانه های صفحه برای دسترسی به لیست کامل نتایج توجه کنید.
/** * Lists the top-level folders in the user's Drive. */functionlistRootFolders(){constquery='"root"inparentsandtrashed=falseand ' +'mimeType="application/vnd.google-apps.folder"';letfolders;letpageToken=null;do{try{folders=Drive.Files.list({q:query,pageSize:100,pageToken:pageToken});if(!folders.files||folders.files.length===0){console.log('Allfoldersfound.');return;}for(leti=0;i < folders.files.length;i++){constfolder=folders.files[i];console.log('%s(ID:%s)',folder.name,folder.id);}pageToken=folders.nextPageToken;}catch(err){// TODO (developer) - Handle exceptionconsole.log('Failedwitherror%s',err.message);}}while(pageToken);}
فهرست بازنگری ها
نمونه کد زیر نحوه فهرست کردن ویرایشهای یک فایل معین را نشان میدهد. توجه داشته باشید که برخی از فایل ها می توانند چندین ویرایش داشته باشند و برای دسترسی به لیست کامل نتایج باید از نشانه های صفحه استفاده کنید.
/** * Lists the revisions of a given file. * @param {string} fileId The ID of the file to list revisions for. */functionlistRevisions(fileId){letrevisions;constpageToken=null;do{try{revisions=Drive.Revisions.list(fileId,{'fields':'revisions(modifiedTime,size),nextPageToken'});if(!revisions.revisions||revisions.revisions.length===0){console.log('Allrevisionsfound.');return;}for(leti=0;i < revisions.revisions.length;i++){constrevision=revisions.revisions[i];constdate=newDate(revision.modifiedTime);console.log('Date:%s,Filesize(bytes):%s',date.toLocaleString(),revision.size);}pageToken=revisions.nextPageToken;}catch(err){// TODO (developer) - Handle exceptionconsole.log('Failedwitherror%s',err.message);}}while(pageToken);}
ویژگی های فایل را اضافه کنید
نمونه کد زیر از قسمت appProperties برای افزودن یک ویژگی سفارشی به یک فایل استفاده می کند. ویژگی سفارشی فقط برای اسکریپت قابل مشاهده است. برای افزودن یک ویژگی سفارشی به فایل که برای سایر برنامهها نیز قابل مشاهده است، به جای آن از فیلد properties استفاده کنید. برای اطلاعات بیشتر، به افزودن خصوصیات فایل سفارشی مراجعه کنید.
/** * Adds a custom app property to a file. Unlike Apps Script's DocumentProperties, * Drive's custom file properties can be accessed outside of Apps Script and * by other applications; however, appProperties are only visible to the script. * @param {string} fileId The ID of the file to add the app property to. */functionaddAppProperty(fileId){try{letfile={'appProperties':{'department':'Sales'
}};// Updates a file to add an app property.file=Drive.Files.update(file,fileId,null,{'fields':'id,appProperties'});console.log('ID:%s,appProperties:%s',file.id,JSON.stringify(file.appProperties,null,2));}catch(err){// TODO (developer) - Handle exceptionconsole.log('Failedwitherror%s',err.message);}}