高度なドライブ サービスを使用すると、Apps Script で Google Drive API を使用できます。Apps Script の組み込み Drive サービスと同様に、この API を使用すると、スクリプトで Google ドライブのファイルやフォルダの作成、検索、変更を行うことができます。ほとんどの場合、組み込みサービスの方が使いやすいですが、この高度なサービスでは、カスタム ファイル プロパティへのアクセスや、ファイルとフォルダの変更履歴など、いくつかの追加機能が提供されます。
リファレンス
このサービスの詳細については、Google Drive API のリファレンス ドキュメントをご覧ください。Apps Script のすべての高度なサービスと同様に、高度なドライブ サービスでは、公開 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, File size (bytes): %s',file.id,file.size);}catch(err){// TODO (developer) - Handle exceptionconsole.log('Failed to upload file with error %s',err.message);}}
/** * Lists the top-level folders in the user's Drive. */functionlistRootFolders(){constquery='"root" in parents and trashed = false and '+'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('All folders found.');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('Failed with error %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('All revisions found.');return;}for(leti=0;i < revisions.revisions.length;i++){constrevision=revisions.revisions[i];constdate=newDate(revision.modifiedTime);console.log('Date: %s, File size (bytes): %s',date.toLocaleString(),revision.size);}pageToken=revisions.nextPageToken;}catch(err){// TODO (developer) - Handle exceptionconsole.log('Failed with error %s',err.message);}}while(pageToken);}
/** * 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('Failed with error %s',err.message);}}
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-08-01 UTC。"],[[["The advanced Drive service in Apps Script provides more features than the built-in service, like access to custom file properties and revisions."],["This advanced service requires enabling before use and mirrors the functionality of the Google Drive API."],["Code samples demonstrate how to upload files, list folders and revisions, and add custom properties to files in Google Drive using this service."],["The provided samples utilize version 3 of the Google Drive API and illustrate common Drive operations within Apps Script."],["For comprehensive details, refer to the Google Drive API reference documentation and support guide."]]],[]]