2013年9月7日土曜日

Google ドライブのホスト機能が使えなくなった

Google Drive Logo

Google ドライブのホスト機能を使うと、Webサーバーと同じように html を公開したり、Picasa のようにページに画像などを呼び出したりできます。


調べてみると、Host 機能を使えるようになったのは意外にも、ごくごく最近の2013年02月05日になっています。 実は、今だから言えますが、それよりずっと前のドキュメントの初期のころから、いわゆる直リンが可能でした。

通常の Host 機能は今まで通り使えます。騙すようなタイトルですいません。

もはや公開しても意味がないですが、以前の ダイレクトリンクする方法です。

通常の共有用のリンクはプレビュー画面になります。
http://docs.google.com/open?id=0ByuBxc6m0wH3NGJiNTFiMDAtYTNiZS00N2……

その URL の open のところををucに変更すると今までは直リンが可能でした。
http://docs.google.com/uc?id=0ByuBxc6m0wH3NGJiNTFiMDAtYTNiZS00N2……

現在は元のURLの構造自体が異なりますね。

このBlogへ、SWF ファイルをいくつか <embed> で埋め込んで表示されていましたが、先月末に一斉に404になり表示されなくなりました。
仕様が変更されたと思われますが、手動対応可能な程度の数ですし、勝手に使っていたのだから文句のあろうはずもありません。
それに、現在は上述の Host が可能なので、そんなことをする必要もなくなりました。


無理な方法を使わなければならなかったのは、ベクター画像を使いたかったから。
ベクター画像というのは、ロゴなどの輪郭のはっきりした画像をクッキリ綺麗に表示でき、さらにファイルサイズを小さくできるので、ものにもよりますがWebに非常に向いています。

各プラットフォームで共通で表示できるベクター画像のフォーマットを調べていたら、結局SWFしかないという自分なりの結論に達しました。PDFでも可能なようでしたが、重いイメージがあったのとプラグインが入っていない可能性もあった為、却下。Flash なら、ほぼ 100% の環境で表示可能でした。

Google Drive Logo

今でこそ、SVG という選択肢がありますが、SVG が実際に使えるようになったのは、ここ 1、2 年の話です。それまではあるブラウザが対応していなかったせいで、全く普及せずエディタもないような状態でしたし、あるブラウザが表示できない以上使うこともできませんでした。(他のブラウザはとうの昔に対応していた)

当時、同じ Google アカウント内のサービスで、SWF の置き場として利用可能だったのは Google Docs だけでした。
共有リンクの先はプレビュー画面しかないもののダウンロードが可能なので、なにか方法があるのではないかと、レスポンスを解析してダイレクトリンクのパラメーターを見つけてきました。(言ってしまうと対策される可能性があったため公表できなかった。)

現在 Flash は非推奨ですが、SVG にせよ他のファイルにせよ、Google Drive はファイル置き場として使えるのかという話になると、これがまた悩ましい。
BLOGに貼り付けてある SWF は数 KB の極めて小さなサイズにも関わらず、明らかに遅延がみられます (冒頭の画像が SWF です)。
GDrive の host は、速い、もしくは遅くはないという情報も見られましたので、これは、SWF ファイルのせいなのか、Blogger との関係なのか検証中です。

もし使えるようなら、今一番やってみたいのが、CSS の外部ファイル化です。現在はソースがゴチャゴチャしているのと、いらないものを読み込み過ぎているので、スマートにして表示の高速化を狙いたいです。
すでに実践されている強者もみえますので、もちろん参考にさせてもらいますが、やはり、充分に検証してからでないと踏み込めないですね。


後日、Google Drive に JavaScript や CSS を置きホスティングする方法の是非について検証したところ、かなりはっきりした結論に至りました。