SQLの窓

2021年08月07日


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]);
    }

}


GitHub


posted by lightbox at 2021-08-07 15:38 | GAS | このブログの読者になる | 更新情報をチェックする
Seesaa の各ページの表示について
Seesaa の 記事がたまに全く表示されない場合があります。その場合は、設定> 詳細設定> ブログ設定 で 最新の情報に更新の『実行ボタン』で記事やアーカイブが最新にビルドされます。

Seesaa のページで、アーカイブとタグページは要注意です。タグページはコンテンツが全く無い状態になりますし、アーカイブページも歯抜けページはコンテンツが存在しないのにページが表示されてしまいます。

また、カテゴリページもそういう意味では完全ではありません。『カテゴリID-番号』というフォーマットで表示されるページですが、実際存在するより大きな番号でも表示されてしまいます。

※ インデックスページのみ、実際の記事数を超えたページを指定しても最後のページが表示されるようです

対処としては、このようなヘルプ的な情報を固定でページの最後に表示するようにするといいでしょう。具体的には、メインの記事コンテンツの下に『自由形式』を追加し、アーカイブとカテゴリページでのみ表示するように設定し、コンテンツを用意するといいと思います。


※ エキスパートモードで表示しています

アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります

<% if:page_name eq 'archive' -%>
アーカイブページでのみ表示される内容
<% /if %>

<% if:page_name eq 'category' -%>
カテゴリページでのみ表示される内容
<% /if %>

<% if:page_name eq 'tag' -%>
タグページでのみ表示される内容
<% /if %>
この記述は、以下の場所で使用します
container 終わり



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

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