SQLの窓

2021年03月18日


GAS : 自分の共有ドライブ一覧とマイドライブのルートフォルダ一覧

スプレッドシートに出力します

Logger.log がとても使いやすくなりましたが、あきまでデバッグ目的になるのでスプレッドシートに結果を残します。実行前に出力する列単位のクリアを行っていますが、マクロで取得したコードです。

Drive API サービスの設定

GAS からは、V2 の利用となるので注意が必要です。V3 ではパラメータが違います

マイドライブのルートフォルダのソート

そのままではソートされないので、一旦配列へセットしてソートしてから出力しています
function listDrive() {

  // 選択したシートを対象とします
  var spreadsheet = SpreadsheetApp.getActive();

  // 列クリア
  spreadsheet.getRange('A:E').activate();
  spreadsheet.getActiveRangeList().clear({contentsOnly: true, commentsOnly: true, skipFilteredRows: true});

  // **************************************************
  // ドライブ 一覧 ( 100件まで:それ以上は nextPageToken を使う )
  // Drive API v2
  // **************************************************
  var response = Drive.Drives.list({"maxResults":100});
  var drives = response.items;
  var targetRange;
  for (i = 0; i < drives.length; i++) {

    Logger.log('%s (%s)', drives[i].name, drives[i].id);
    targetRange = spreadsheet.getRange('A' + (i+1));
    targetRange.setValue(drives[i].name);
    targetRange = spreadsheet.getRange('B' + (i+1));
    targetRange.setValue(drives[i].id);

  }  

  // **************************************************
  // マイドライブルート 内のフォルダの一覧 ( Drive API は必要ない )
  // **************************************************
  var folders = DriveApp.getRootFolder().getFolders();
  var a = new Array();

  while (folders.hasNext()) {
    var folder = folders.next();
    Logger.log(folder.getName());
    a.push(folder.getName());
  }

  a.sort()
  for (i = 0; i < a.length; i++) {
    targetRange = spreadsheet.getRange('E' + (i+1));
    targetRange.setValue(a[i]);
  }

}





posted by lightbox at 2021-03-18 15:38 | GAS | このブログの読者になる | 更新情報をチェックする
container 終わり



フリーフォントで簡単ロゴ作成
フリーフォントでボタン素材作成
フリーフォントで吹き出し画像作成
フリーフォントではんこ画像作成
ほぼ自由に利用できるフリーフォント
フリーフォントの書体見本とサンプル
画像を大きく見る為のウインドウを開くボタンの作成

CSS ドロップシャドウの参考デモ
イラストAC
ぱくたそ
写真素材 足成
フリーフォント一覧
utf8 文字ツール
右サイド 終わり
base 終わり