【GAS / Google Apps Script】Google Drive から Google Apps Scriptを使ってみる!?

Google Apps Script

Google Driveで GAS

googleドライブを開いて[ + 新規 ] から [ Google Apps Script ]を選択して

フォルダに共同編集者がいるとこのスクリプトも使えるから気を付けてということですね

マイドライブなので全部です

フォルダー作成

function createFolder() {
  var folder = DriveApp.createFolder('gasFolder');
  Logger.log('フォルダを作成しました: ' + folder.getName());
}

実行すると gasFolderが出来たので開いてfolder_idを確認します。

https://drive.google.com/drive/folders/{folder_id}

フォルダーの中にファイル作成&削除

function createFile() {
  var folder = DriveApp.getFolderById('{folder_id}'); // 対象のフォルダのIDを取得しておく

  var file = folder.createFile('gasfile.txt', 'Hello, GAS world!');
}

gasfile.txtが出来ていました。

function deleteFilesInFolder() {
  // 削除対象のフォルダID
  var folderId = "";

  // フォルダを取得
  var folder = DriveApp.getFolderById(folderId);

  // フォルダ内の全てのファイルを取得
  var files = folder.getFiles();

  // 各ファイルを削除
  while (files.hasNext()) {
    var file = files.next();
    if(file.getName() === "gasfile.txt"){
      file.setTrashed(true);
      Logger.log("ファイル '" + file.getName() + "' を削除しました");
    }
  }
}

削除も問題なく。

* google driveは IDは一意ですが、ファイル名は同じものが使えるので固定で編集する場合は、IDを利用します。

ファイル読み書き

function readTextFile() {

  var folderId = '1CcgcGbPKgOdMkyGkPhKliWd7Fwvtu2uT';
  var folder = DriveApp.getFolderById(folderId);
  var files = folder.getFiles();

  while (files.hasNext()) {
    var file = files.next();
    if (file.getName() === 'gasfile.txt') {
      // ファイルが見つかった場合の処理
      Logger.log(file.getMimeType());
      // var contents = readFromUrl(file.getUrl()); // file.getDataAs('text/plain'); 
       var contents = file.getBlob().getDataAsString(); //getDataAs('text/plain'); 
      Logger.log(contents); 
       // 更新
      file.setContent(contents + " updated");
      break;
    }
  }
//  var fileId = 'your_file_id'; // 読み込むファイルのID
//  var file = DriveApp.getFileById(fileId);
}

file.getBlob()でデータを読んでから取得のgetDataAsStringが必要なところがポイントですne

お気軽にコメントください!

スパム対応のためコメント認証に数日かかることがありますが、お気軽にコメントいただけると嬉しいです^^

コメント

タイトルとURLをコピーしました