※現在、Googleドキュメントは「Googleドライブ」としてサービスが刷新されています。これに合わせ、Google Apps Scriptでも、「Google Drive API」が整備され、これを利用してファイル管理が行えるようになっています。この記事の内容は今後も利用可能ですが、個人的にはGoogle Drive APIを利用したファイル管理を利用されることをお勧めします。
Google Drive APIの解説はこちら
http://libro.tuyano.com/index3?id=1166003Googleドキュメントでは、さまざまなファイルを扱うことができます。スプレッドシートやワープルの文書等だけでなく、現在は各種のファイルをアップロードし管理できるようになりました。Googleドキュメントは、「スプレッドシートなどのビジネスWebアプリ」としてだけでなく、「クラウド上のファイル管理ツール」という使い方もされるようになりつつあります。
この「ファイル管理」に関する機能も、Google Apps Scriptには用意されています。これは、Googleドキュメントのスプレッドシートや文書とは別のものになります。これも、やはアプリケーションとなるオブジェクトと、ファイル管理で用いられるオブジェクトから構成されています。ざっと整理しておきましょう。
ものを考えるとよいでしょう。
DocsList――ドキュメントリスト全体に関するもの
File――個々のファイルを扱うもの
Folder――個々のフォルダ(今はコレクション)を扱うもの
DocListは、Googleドキュメントを開くとすぐに現れる、ファイル類を管理する画面の機能を提供するためのオブジェクトです。この
DocsListには、ファイルやフォルダを作成したり、既にあるものの中から必要なファイルなどを検索し取り出したりする機能が用意されています。
Fileと
Folderは、Googleドキュメントに用意されているファイルとフォルダを扱うためのものです。現在、フォルダは「
コレクション」という名前で呼ばれていますが、概念としてはフォルダそのものですね。いずれも、そのフォルダやファイルの細かな属性を取得する機能や、共有とアクセス権に関する機能などが用意されています。
注意すべきは、これらの
DocsList及び
Folder/Fileで扱われるファイルは、
SpreadsheetAppや
DocumentAppで使われる
Documentとは違うものだ、という点でしょう。スプレッドシートやドキュメントの説明で、Google Apps Scriptでは新しい
Documentを作成し編集できることを説明しました。
これらのものでは、メソッドにより新しいドキュメントを作成することができ、実際にGoogleドキュメントにそのファイルが追加され利用できるようになります。が、それはここで登場する
Fileとは全く違うものです。これらの
Documentから、
DocsListで扱う
Fileオブジェクトを取得することはできますが、スクリプトにおいては「
Document =
Fileではない」という点はよく頭にいれておきましょう。