GASでドライブ操作を極める
GAS連携とドライブ操作の概要
Google Apps Script(GAS)は、Google Workspace のサービスを自動化するための強力なツールです。特に、ドライブ操作に関しては、DriveApp クラスを利用することで、ファイルやフォルダの検索・作成・削除などを簡単に行えます。この記事では、DriveApp を使った基本的な操作方法と、実際に getFiles や getFolders を活用したファイル一覧取得、フォルダ作成、ファイル作成のサンプルコードを紹介します。
ファイル一覧取得とフォルダ作成
まずは、指定したフォルダ内のファイル一覧を取得する方法です。DriveApp.getFolderById(folderId) でフォルダオブジェクトを取得し、getFiles() でファイルの FileIterator を取得します。以下のコードは、フォルダ内の全ファイル名と MIME タイプをコンソールに出力します。
function listFilesInFolder() {
var folderId = 'YOUR_FOLDER_ID';
var folder = DriveApp.getFolderById(folderId);
var files = folder.getFiles();
while (files.hasNext()) {
var file = files.next();
Logger.log('ファイル名: ' + file.getName() + ', MIME: ' + file.getMimeType());
}
}
次に、フォルダを作成する方法です。createFolder(name) を使うと、指定した名前のフォルダが作成されます。既に同名のフォルダが存在する場合はエラーになるため、事前に getFolders() で確認することが推奨されます。
function createNewFolder() {
var parentFolder = DriveApp.getRootFolder();
var folderName = 'NewFolder';
// 同名フォルダがあるか確認
var folders = parentFolder.getFoldersByName(folderName);
if (folders.hasNext()) {
Logger.log('フォルダは既に存在します。');
return;
}
var newFolder = parentFolder.createFolder(folderName);
Logger.log('フォルダ作成完了: ' + newFolder.getName());
}
ファイル作成の実装例
最後に、テキストファイルを作成し、フォルダに保存するサンプルです。createFile(name, content, mimeType) を利用します。以下では、JSON 形式のデータをテキストファイルとして保存します。
function createTextFile() {
var folder = DriveApp.getFolderById('YOUR_FOLDER_ID');
var fileName = 'sample.json';
var content = JSON.stringify({name: 'GAS', version: 1.0}, null, 2);
var mimeType = MimeType.JSON;
var file = folder.createFile(fileName, content, mimeType);
Logger.log('ファイル作成完了: ' + file.getName());
}
このように、DriveApp を組み合わせることで、GAS からドライブ上のファイルやフォルダを自在に操作できます。実際の業務で活用する際は、権限設定やエラーハンドリングをしっかり行い、安定したスクリプトを作成してください。
コメント
コメントを投稿