Fustion Tables へのアクセスがうまくいかず結構悩んだ
id:yellow_73:20110809#p2 のつづきです。
unauthenticated が出まくる
まず、昨日まで SHOW TABLES がうまくいってたのに、突然うまくいかなくなりました。
unauthenticated という文言が見え、HTTP応答ステータスは 401 でした。
他のクエリではどうだろう、と思い、SELECT * FROM [id] をリクエストしましたが、これはうまくいきました。
つまり、特定のクエリだけがうまくいかない。これには正直悩みました。
で、ふと気づいた。Fusion Tables ではパブリックなテーブルが作れる、これを引っ張ってきてるのではなかいと。さきほどの SELECT の対象テーブルは、プライベートなものではありませんでした。これは単に認証トークンを見てないので成功しているのではないか、と。
今度は、プライベートなものを見に行こうとしたら、見事に unauthenticated とされました。
ここまでくれば私でも分かる、認証トークンが賞味期限切れになってたんだ、と。
認証トークンが適切でアカウントに権限が無いコマンドの場合は unauthenticated でない
プライベートなテーブルを権限の無いアカウントから見ようとすると、同じ 401 を返されるのですが、ボディには "User does not have permission to view the underlying data" という文言が出ます。
考えられる認証手順
上記より、考えらる認証手順は次の通りです。
わざわざ書くほどでもないかも知れないけれども、まとめとして書いておく。