見出し画像

【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');

この記事が気に入ったらサポートをしてみませんか?