Google DriveをEvilに(ずる賢く)使う方法について検証してみる

Google Driveはクラウドドライブサービスとして、自分のファイルのクラウド上での保存はもちろん、オンライン上の複数人への共有にも役立つサービス。
しかしGoogleサービスを使いこなしているとアカウントに割り当てられた初期容量 15GB(無償版の場合)もあっという間に消化してしまうかもしれない……。

ところで話は変わり、Googleドライブを利用していると関連製品としてオフィススイートのGoogleドキュメント、Googleスプレッドシート、Googleスライドを目にすると思う。
これらによって作られたファイルもGoogleドライブ内にファイルとして保存されるが、これらのファイルの保存容量は0バイトとなる。

ドライブ内にこのように配置してみた。画像ファイルなどはそれぞれファイルサイズが表示され、容量が消費されている。スライドファイルはファイルサイズが表示されない


これはGoogleのヘルプにも記載されているが、オフィススイート製品で作成されたファイルは容量を消費しない。そう、Googleサイトで作成したページすらもアカウントの容量制限を受けずに利用できるのである。



さて、ここで気付くことがある。もしかして、Googleオフィススイートのファイル(仮にここではドキュメント)のファイルをコンテナとすれば、ドライブの容量を消費せず、実質容量無制限でファイルを保存できるのではないか……。
悪魔(Evil)な考えですが、思いつくものは仕方が無い。試してみましょう。




検証する環境を作る

まずは自分のドライブ内に、上記の様にファイルを配置してみた。実ファイル(上記では画像ファイル)以外となるGoogleスライドのファイル(実際はポインタ)は容量が表示されていない。

ベースとなるドキュメントの準備

上記のスライド内は初期状態のため、このような形となっている。
ここにサンプルで用意した画像を ドラッグドロップで配置していく。なお、画像以外のファイルをドキュメント内に配置することが仕様上できない。そのためこの検証では画像ファイルのみを対象とする。

ドキュメント内に画像を配置


各画像のファイルとそのフォーマット、ファイルサイズを記載してみた。

コンテナにしたドキュメントのサイズを調べる

画像を配置したドキュメントをドライブの詳細情報から確認しても使用容量は0バイト。ここにもスライドファイルは容量を消費しない旨が記載されている。

ドライブの容量消費0で画像ファイルを配置できた。がしかし……

さて、ここまでは順調。通常のスライドファイルを作っているときと状況は何ら変わらないからである。実質的にただスライドを作っていることと同じ。
さて、コンテナとして使ったからにはこれらのファイルが取り出せなければ、ストレージとしては使えない。

では、スライド内の画像ファイルを右クリックして……としたところで、当たり前だがその画像がダウンロードできるわけではない。
右クリックをしてもアプリを使うのと同様、編集に必要なコンテキストメニューが表示されるのみ

ファイルのエクスポートを試みる


この中でファイルを扱えそうなのはMicrosoft PowerPoint形式かODPドキュメントである。どちらも一つのファイルとしてダウンロードされるが、中身はコンテナ化されており、ZIP形式で圧縮されているだけなので、拡張子を変更して解凍すれば良いからである。

今回は Microsoft PowerPoint (.pptx) を選択してみた。

エクスポートしたファイルを展開してみる

ダウンロードしたファイルをUNZIPし、展開してみた。
結果は画像の通り。展開した構造の ppt/media 内にスライドに配置したものと同じ画像ファイルを確認できた。

ファイル名

まずはファイル名だが、エクスポートする際に最適化されてダウンロードされるため、当然ながら元のファイル名は失われている。

ファイルフォーマット

続いてファイルフォーマット。フォーマットは元の画像のフォーマットが維持されている模様。

ファイルサイズ

元のファイルから変更がありそうなものとして、image2.jpgimage3.jpgの二つのJPEGファイルのサイズが異なっている。
image2.jpg  photo_2MB.jpg というファイル名だったもので、元々2.1MB程あったものであるが、1.1MBに軽量化されている。
続いてimage3.jpg は lena.jpg というファイル名だったもので、こちらも元々は317KB程あったものだが、38KBになっている。
image1.pngimage4.gifについてはファイルサイズに変更が見られない。アニメgifに関しては最適化が難しいと思われるので変換などはされないだろうと想定できるが、今回の検証の中ではPNGファイルへの最適化は行われないように見える。この結果を見ると、JPEGファイルについては、仮に1MB以下のファイルであっても最適化され、ファイルサイズの軽量化が行われるようである。

結論

ここまでの結果から、Googleオフィススイートのファイルをファイルコンテナとして画像ファイルを格納した場合、ドライブ内で消費するファイルサイズの消費は削減できる(消費されない)が、格納したファイルの同一性保持については期待できない事が分かる。

また、消費容量削減のためだけに、このような方法でファイルを管理するのは手間がかかるのと、画像の取り出しにもだいぶ手間がかかるので、素直にドライブをストレージとして利用した方が良い。

最近作ったアプリの話

先日、コナミ社の提供している コナステ のダウンロードコンテンツゲームを1クリックで起動できるアプリを作り、公開した。 Ks Game Launcher  ( Github ) 作った理由として、インストール時に作成されたショートカットをクリックするとブラウザが起動し、ログインし...