December 19, 2008

Google App Engine で Google GData API を使う (2)

前回の続きです。

Picasa での認証

えーっと、やりたいことは Picasa から private な画像の情報を取ってくることです。
そのためには Picasa 側で認証処理を通す必要があります。
具体的に何をやるかというと、private な情報にアクセスするための「トークン」を Picasa に発行してもらいます。
そのためには実際ちょっとややこしい手順を踏む必要があります。

扱うトークンには「AuthSub Token」と「AuthSub Session Token」の2種類があります。
「AuthSub Token」は一度しか使えないトークンです。
トークンが一度しか使えないとアプリケーション的にはちょっと不便なので、何度でも使えるトークンが欲しいところです。
そこで「AuthSub Session Token」です。
「AuthSub Session Token」を使えば何度でもデータを取ってこれます。

処理の流れとしては、まず「AuthSub Token」を Picasa に発行してもらい、それを使って「AuthSub Session Token」を取得する、というふうになります。
わかりやすいように絵にしてみました。

authsub_token_1.png
まず「AuthSub Token」を発行してもらいます。
Picasa 側でアクセス許可の操作を行った後、URL にトークンを含んだ状態でリダイレクトされてアプリ側に帰ってきます。

authsub_token_1.1.png
「AuthSub Token」をゲットしました。

authsub_token_2.png
取得した「AuthSub Token」を使って今度は「AuthSub Session Token」を発行してもらいます。

authsub_token_2.1.png
「AuthSub Session Token」をゲットしました。
このトークンはデータベースに保存するなどして大事に取っておきます。

authsub_token_3.png
「AuthSub Session Token」を使えば private な画像の情報も取得できます。

意外と面倒くさいですが、理解してしまえば簡単です。
あとは API を使ってどんなアプリケーションを作るか考えるだけです。

サンプルコード

以下にサンプルコードを置いたので、よかったら参考にしてください。

http://github.com/jugyo/using-picasa-web-albums-data-api

Google App Engine で動くように実装されています。

関連記事

Google App Engine で Google GData API を使う (1)

No Comments »

TrackBack URI

Leave a comment

※上の項目は入力してもしなくてもよいです。