Kobarin's Development Blog

C#やASP.NET、公開APIなどについての記録です。

Google Fusion Tablesで、CSV or KML出力するURL

FTでデータを出力したい場合、[Export]メニューでCSV出力、Mapモードの[Export to KML]でKML出力ができますが、プログラムでデータを読みたい場合、URLで直接指定したいところです。
結論から言うとどちらも可能です。
URLの仕様を調べるには、上記の正攻法でダウンロードした際、ブラウザのダウンロード履歴から「URLコピー」すれば良いだけです。IEもFFも可です。


念のためURLの仕様を示します。[XXXXXX]の代わりにtableidに置き換えて下さい([ ]も外して)。
ダウンロードから実行した場合、select部のカラム欄に「col0,%20col1,%20col2..」と明示してありますが、以下のように「select%20*%20from...」でもいけます。

CSV

http ://www.google.com/fusiontables/exporttable?query=select%20*%20from%20[XXXXXX]%20&

KML

http ://www.google.com/fusiontables/exporttable?query=select+*+from+[XXXXXX]+&o=kml&g=col0

注意

KMLの場合、「g=col0」(colの後の数値はテーブルによって変わります)のパラメータがありますが、これはデータタイプが「location」として指定されているカラムの番号のようです(geoって意味かな)。
どうやら必須パラメータらしく、これがないとKML出力できません。従って、あくまでmap表示できるデータだけで、単なるテーブルは出力できないかもしれません(試していない)。


個人的には、サーバーサイドでKMLを取得し、その際にlocationを表すカラムを特定して…みたいな事をしたかったですが、それは無理そうです。