スプレッドシートに出力します
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 のように一定間隔でスクリプトを実行する