libro
www.tuyano.com
初心者のためのGoogle Apps Scriptプログラミング入門

Google Drive APIによるファイル管理 (2/5)

作成:2013-05-26 10:47
更新:2013-05-26 10:47

■FileオブジェクトとFolderオブジェクト

イテレーターで取得されるのは「File」「Folder」といったオブジェクトになります。それぞれ、ファイル/フォルダの情報などを管理します。では、用意されている主なメソッドについて簡単に説明しましょう。


・IDの取得
変数 = 《File/Folder》.getId();
ファイル/フォルダのIDを取得します。これはGoogleドライブの各ファイルに割当てられているものです。ファイルを開いたとき、アドレスに指定されているランダムな文字列のようなものが指定されますが、あれがIDです。


・名前の取得
変数 = 《File/Folder》.getName();
ファイル名/フォルダ名をテキストで返します。


・作成日の取得
変数 = 《File/Folder》.getDateCreated();
ファイル/フォルダを作成した日時のDateオブジェクトを返します。


・最終更新日の取得
変数 = 《File/Folder》.getLastUpdated();
ファイル/フォルダの最後に更新した日時をDateオブジェクトで返します。


・説明文の取得
変数 = 《File/Folder》.getDescription();
ファイル/フォルダに説明文として設定されているテキストを返します。


・サイズの取得
変数 = 《File/Folder》.getSize();
ファイルサイズをバイト数換算で返します。これは、Googleドライブに保管したファイルのみ有効です。GoogleドキュメントのようにGoogleドライブ内で生成されるドキュメント類では0.0になります。


・URLの取得
変数 = 《File/Folder》.getUrl();
・ダウンロードURLの取得
変数 = 《File/Folder》.getDownloadUrl();
そのファイルにアクセスするためのURLと、ファイルをダウンロードするためのURLを文字列で取得します。


・親フォルダの取得
変数 = 《File/Folder》.getParents();
そのファイルが保管されているフォルダを返します。返値は、FolderオブジェクトをまとめたイテレーターFolderIterator)となります。Googleドライブでは、ファイルやフォルダを複数の場所に設置できるため、親フォルダはこのように複数の値が設定できるようになっています。従って、getParentsで取得した値からnextFolderを取り出し、処理をしていくことになるでしょう。


これらのメソッドの利用例を挙げておきましょう。ここでは、Googleドキュメントのアクティブシートに入力ダイアログを表示し、そこで入力した名前のファイルを取得してその情報をシートに書き出しています。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var fname = Browser.inputBox("file name:");
  var file = DriveApp.getFilesByName(fname).next();
  sheet.getRange(1, 1).setValue(file.getName());
  sheet.getRange(2, 1).setValue(file.getName());
  sheet.getRange(3, 1).setValue(file.getId());
  sheet.getRange(4, 1).setValue(file.getLastUpdated());
  sheet.getRange(5, 1).setValue(file.getDescription());
  sheet.getRange(6, 1).setValue(file.getSize());
  sheet.getRange(7, 1).setValue(file.getParents().next());
}

※関連コンテンツ

「初心者のためのGoogle Apps Scriptプログラミング入門」に戻る