スプレッドシートに出力します
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]);
}
}
GitHub
|
|
【GASの最新記事】
- GAS でユーザ作成 : 組織は "orgUnitPath": "/組織名A/組織名B"
- Google Apps Script(GAS) で、Google Classroom に投稿する
- GAS : Google スプレッドシートのセルを使用してメール送信
- GAS : スプレッドシートのメニューに関数実行用のメニューを追加する
- GAS : Classroom API で、コースに生徒を一括登録する
- GAS : Classroom API で、コース一覧と、コース毎のトピック一覧をスプレッドシートに出力
- Google Apps Script : 時間主導のトリガを使用して、CRON のように一定間隔でスクリプトを実行する






