【Google Apps Script(gas)】Google Driveを使ったファイルの操作について – 後編
Google DriveにあるフォルダをGoogle Apps Scriptでファイルを操作する方法について、まとめてみようと思います。
後編ということで、コピーを作成する、ファイル名を変更する、ファイルサイズを取得する、権限を持っているユーザの一覧を取得する方法について書いてみようと思います。
ファイルをコピーする
ファイルをコピーするにはmakeCopy()を使用します。makeCopy()には引数が設定でき、下記のように使い分けができます。
- makeCopy():スクリプトが実行されたフォルダにファイルのコピーを作成する。
- makeCopy(destination):任意のフォルダにファイルのコピーを作成する。
- makeCopy(name):スクリプトが実行されたフォルダに任意のファイル名でファイルのコピーを作成する。
- makeCopy(name, destination):任意のフォルダに任意のファイル名でファイルのコピーを作成する。
makeCopy()を使ったサンプル
makeCopy(destination)を使ったサンプル
makeCopy(name)を使ったサンプル
makeCopy(name, destination)を使ったサンプル
ファイル名を変更する
ファイル名を変更するにはsetName()のメソッドを使用します。
setName(name)のサンプル
ファイルサイズを取得する
ファイルサイズを取得するケースとしては、ログファイルのローテート処理をバッチ化している際に判定材料として使えるのではないかと思います。
ファイルサイズを取得するには、getSize()を使用します。
権限を持っているユーザの一覧を取得する
GoogleDriveで管理しているファイルには権限が付与されていて、他のユーザをファイル(フォルダも含む)を共有した時に効力を発揮します。
権限には「オーナー(Owner)」・「編集者(Editor)」・「コメント可(Commenter)」・「閲覧者(Viewer)」があり、特定のファイルについて、権限が付与されているユーザの一覧を取得することができます。
- オーナー(Owner):getOwner()
- 編集者(Editor)の一覧:getEditors()
- コメント可(Commenter)の一覧:取得する方法なし
- 閲覧者(Viewer)の一覧:getViewers()
編集者(Editor)の一覧を取得するサンプル
閲覧者(Viewer)の一覧を取得するサンプル
まとめ
前編、後編でファイル操作についてまとめてみました。
まとめながら、コメント可(Commenter)の一覧は取得するメソッドないの?などツッコミは色々ありましたが、そのあたりは工夫が必要(使う機会がなさそう)ということでしょう☆
ファイルを作って、他のファイルと同じ人に同じ権限を与えたい場合など管理者サイドのシステムで利用できそうです。
ファイル操作は複数の階層に跨って行う場合は再帰処理と組み合わせると非常に効率よくプログラムを組むことができます。
再帰処理についても紹介しておりますので、そちらもご参考にしてください。
ディスカッション
コメント一覧
まだ、コメントがありません