【GAS】でGoogleドライブのファイルを使いこなす! ファイルが持っているパラメータ
GoogleAppsScirpt で、Google ドライブのファイルのパラメータ(ファイル名、容量、作成日など)を取得したり、編集ができます。
そのために、「Drive」サービスの中の「File」クラスのメソッドを使いますので、主にそれらの説明をします。
名前
ファイルの名前を取得したり、編集したりできます。
ファイル名の取得
getName()
引数: 無し
戻り値: ファイル名(文字列)
console.log(file.getName()); // → "sample_file"
ファイル名を編集
setName(ファイル名)
引数: 設定したいファイル名(文字列)
戻り値: ファイル名が変更されたファイル(File クラスのオブジェクト)
let renamedFile = file.setName("new_name");
console.log( renameFile.getName()); // → "new_name"
ID
それぞれ違う固有の ID が、ファイルごとに割り当てられています。
これは、そのフォルダにアクセスするときなどに使われます。
ここでは、その ID の取得します。
getId()
引数: 無し
戻り値: ファイルの ID(文字列)
console.log(file.getId()); // → "1tgvy-ed6g-ko67rg0eha-detara5me"
URL
この URL にアクセスすると、ブラウザ上のウェブページでファイルデータを確認できます。
ここでは、その URL を取得します。
getUrl()
引数: 無し
戻り値: ファイルの URL(文字列)
console.log(file.getUrl()); // → "https://drive.google.com/file/d/1tgvy-ed6g-ko67rg0eha-detara5me"
データのダウンロード元の URL
ブラウザ上でファイルデータをダウンロードできるページの URL です。
ここでは、そのダウンロードページの URL を取得します。
getDownloadUrl()
引数: 無し
戻り値:ファイルデータのダウンロードページの URL(文字列)
console.log(file.getDownloadUrl()); // → "https://drive.google.com/uc?id=1tgvy-ed6g-ko67rg0eha-detara5mex&export=download"
説明
ファイルがどの様なものなのかの説明。
ファイルの説明の取得と編集をします。
ファイルの説明の取得
getDescription()
引数: 無し
戻り値:ファイルの説明文(文字列)
console.log(file.getDescription()); // → "これはサンプルのファイルです"
ファイルの説明の編集
setDescription(説明文)
引数: 新しいファイルの説明文(文字列)
戻り値:説明文が変更されたファイル(File クラスのオブジェクト)
let resetDescriptionFile = file.setDescription("これは改訂したファイルです");
console.log(resetDescriptionFile.getDescription()); // → "これは改訂したファイルです"
データの種類
ファイルが画像データなのか、テキストファイルなのか、いわゆる拡張子の様な情報です。
GoogleAppsScript の MimeType クラスのプロバティからなる文字列が得られます。
MimeType については、公式のページをご覧ください。
ここでは、ファイルのデータの種類を確認します。
getMimeType()
引数: 無し
戻り値: MimeType のプロパティ(文字列)
conosole.log(file.getMimeType()); // → "image/jpeg"
データサイズ
ファイルデータの容量です。数値の単位はバイト(bytes)です。
ここでは、ファイルのデータサイズを取得します。
getSize()
引数: 無し
戻り値: データのバイト数(数値)
console.log(file.getSize()); // → "20750" => 20.75KB
作成日時
ファイルが作成された日時を取得します。
なお、戻り値は javascript などと同じ Date クラスのオブジェクトです。
getDateCreated()
引数: 無し
戻り値: 日時のオブジェクト(Date クラス)
let cratedDate = file.getCreatedDate();
// Dateクラスのオブジェクトから日付の文字列を取得して表示
console.log(createdDate.toDateString()); // → "Wed Feb 28 2024"
更新日時
ファイルデータが最後に更新された日時を取得します。
なお、戻り値は javascript などと同じ Date クラスのオブジェクトです。
getLastUpdated()
引数: 無し
戻り値: 日時のオブジェクト(Date クラスのオブジェクト)
let cratedDate = file.getLastUpdated();
// Dateクラスのオブジェクトから日付の文字列を取得して表示
console.log(createdDate.getLastUpdated()); // → "Thu Feb 22 2024"
サムネイル
ファイルのサムネイル画像がある場合、画像データを Blob データとして取得できます。
getThumbnail()
引数: 無し
戻り値: サムネイル画像のデータ(Blob クラス)
let thumbnailImageBlob = file.getThumbnail();
スター印
「重要」や「頻繁に使う」など目印としての、スター印が付いているかの確認と設定。
ファイルにスター印が付いているかどうか確認
isStarred()
引数: 無し
戻り値: スター印が付いていたら true、付いていなければ false(bool 値)
console.log(file.isStarred()); // → "false"
ファイルにスター印を付ける
setStarred(true)
引数: true(bool 値)
戻り値: スター印が付いたファイル(File クラスのオブジェクト)
let starredFile = file.setStarred(true);
console.log(starredFile.isStarred()); // → "true"
ファイルからスター印を外す
setStarred(false)
引数: false(bool 値)
戻り値: スター印が付いていないファイル(File クラスのオブジェクト)
let unstarredFile = file.setStarred(false);
console.log(unsarredFile.isStarred()); // → "false"
ゴミ箱
ファイルがゴミ箱にあるのかどうかの確認と、ファイルをゴミ箱に移動させたり、ゴミ箱から復元させる。
ファイルがゴミ箱にあるかどうか確認
isTrashed()
引数: 無し
戻り値: ファイルがゴミ箱にあれば true、でなければ false(bool 値)。
console.log(file.isTrashed()); // → "false"
ファイルをゴミ箱に入れる
setTrashed(true)
引数: true(bool 値)
戻り値: ゴミ箱に入れられたファイル(File クラスのオブジェクト)
let trashedFile = file.setTrashed(true);
console.log(trashedFile.isTrashed()); // → "true"
ファイルをゴミ箱から復元する
setTrashed(false)
引数: false(bool 値)
戻り値: 元の場所に置かれたファイル(File クラスのオブジェクト)
let untrashedfFile = file.setTrashed(false);
console.log(untrashedFile.isTrashed()); // → "false"
親フォルダ
ファイルが入っているフォルダを Folder クラスのオブジェクトがまとまったFolderIteratorとして取得。
Google ドライブでは、複数の親フォルダを設定できるため Folder クラスのオブジェクトがまとまった FolderIterator が得られる。
なお、下のコードで FolderIterator クラスを使っていますが詳しくは、**こちら**で説明しております。
getParents()
引数: 無し
戻り値: 親フォルダたち(FolderIterator クラスのオブジェクト)
let parentsFolderIterator = file.getParents();
// "parentsFolderIterator"に入っているフォルダの名前を全て表示
while (parentsFolderIterator.hasNext()) {
let parentFolder = parentsFolderIterator.next();
console.log(parentFolder.getName()); // → "mother_folder"
}
Blob データ
データそのものである Blob データであり、これはデータを構成しているバイトデータと、そのデータの種類の情報から構成されているものです。Blob データについて詳しくはこちら
ここでは、そんな Blob データをファイルからの取得や置き換えをします。
Blob データの取得
getBlob()
引数: 無し
戻り値: Blob データ(Blob クラスのオブジェクト)
let fileBlob = file.getBlob();
Blob のデータ型を変換して取得
データの種類(MimeType)を変換した Blob データを取得する。
getAs(データの種類)
引数: データの種類である MimeType のプロパティ(文字列)
戻り値: 指定したデータの種類の Blob データ(Blob クラスのオブジェクト)
let pngImageBlob = file.getAs(MimeType.PNG);
console.log(pngImageBlob.getContentType()); // → "image/png"
ファイルデータを置き換える
ファイルデータを文字列データで置き換える。
個人的には、何の為なのかあまりわからない。
setContent(テキストデータ)
引数: テキストデータ(文字列)
戻り値: テキストによって置き換えられたファイル(File クラスのオブジェクト)
let replacedFile = file.setContent('replaced file by text');
この記事が気に入ったらサポートをしてみませんか?