ここのことはなかったことにするかもしれない

仕事がらみの記事を主として扱いますが、あくまで個人ブログです。2013年以前の記事は https://yellow-73.hatenablog.com/ にあります。

Google Fusion Tablesのやり方がいろいろ変わっててヘンな笑いが出た

はじめに

1年ほど前にAndroidからGoogle Fusion Tablesにアクセスするための方法をごにょごにょやって、とりあえず成功しましたが、今年の夏にそのアプリを動かすと、認証しない。その他いろいろ手を入れないといけなくなりました。

ポイント

  • 認証がOAuth2でないといけなくなったようです
  • SQL APIのURLとかが若干変わりました

使えるようにするための手順

署名の指紋を得る

まず、アプリケーション署名の指紋(SHA1)が求められるので keytool で得ておきます。JDKに添付されています(JREではありません)。
デバッグ用は (ユーザフォルダ)\.android\androuddebugkey にあります。

cd (ユーザフォルダ)\.android
keytool -exportcert -alias androiddebugkey -keystore debug.keystore -list -v

...
SHA1: 00:00:...
...

の20バイトを記録しておきます。

Google API への登録
  • http://code.google.com/apis/console に行きプロジェクトを作成
  • "Services"でFusion TablesをONにする
  • "API Access"に移動
  • "Create Another Client ID"
    • ウィンドウが出るので "Installed Application" を選択
    • "Application Type" の選択を促されるので "Android" を選択
    • "Package Name" と 指紋 を登録
リリース用指紋登録も忘れずに

頭から抜け落ちたらログインできなくてすげえあせるorz とっとと登録しといた方がいいです。

別クライアントになりますが、ソースやら何やらについては特に変更すべきことはありません。

Android側 (4以上)

で行います(古い認証では、authTokenTypeは"fusiontables"になっていました)。
あとはAndroidライブラリの認証でどうにかしてくれます。

Fusion Tables SQLの変更点