SQLの窓 イラストAC フリー素材

2010年05月23日

自分が作ったWEBアプリから画像データを登録する手段

API で外部サービス

画像はデータ量がかさばるので、さすがに自分の WEB スペースでは一時的にしか保存する 事はできません。しかし、最近では無料で画像を保存させてくれるサービスがあるので、 API を使って利用する為にサンプルを作成しました。
Twitpic
このサービスの存在は最近まで知らなかったのですが、Twitter を眺めていて、車が盗難 されたうんぬん・・・という文章が流れて来て、見てみるとリンク先が Twitpic で、トラ ックの画像が掲載されていました。 「へえ・・・こんなのがあるのか。しかも API あるし」 と、言う事でテスト。API には v1 と v2 があったのですが、v1 はすぐ動きました。v2  は、仕様の文章があいまいな部分があったので、実装するのに結構時間がかかりましたが、 おかげで、本家 Twitter の API の内容もあわせて良く理解する事ができました。 しかし、いくら英語だからと言っても、少なくとも「仕様」というにはあまりに説明不足 な文書が多いと思います。自分自身も技術者だから良く解るのですが、「自分は解ってる」 とう前提で書くと、他人には伝わらない事が多いですね :-) ほんと、その上言語の壁があると、どんどん遅れて行くのでとてもつらいです。 ま、グチはさておいて。
PHP + Twitpic API v2 で、ファイルをアップロード
当然、ある程度の知識が無いと意味は解りづらいものではありますが、4つのデータを用意 すればだれでも使えるはずです。
必要なもの
1) Twitpic のAPIキー 2) Twitter の Consumer key 3) Twitter の Consumer secret 4) Twitter の Access Token 5) Twitter の Access Token Secret アクセストークンは アプリケーションに割り当てられた My Access Token を参照して取得して下さい Twitter_mytoken4 この API の v2 では、Twitpic には、2〜5を直接は渡しません。 Twitpicでアカウントが存在するかどうかをチェックする為の Twitter の API を使う のに必要な最低限のデータを渡します。 とても安心です。API の v1 は直接渡すのでおすすめできませんね。
Picasa
これは、言わずと知れた Google のサービスです。いろいろな言語でライブラリが 存在するので、それらを使う事が推奨されます。Twitter のような元となるデータ の引き渡し方の仕様はいろいろ探したのですが、明確なものを見つけられませんで したので、素直にライブラリまたはフレームワークを使うべし、という結論です。 自分は、PHP で処理したかったので、Zend Framework を使いましたが、例によって クラス化されているわりにドキュメントが貧弱なのでサンプルコードを元に手順が 理解しやすいようにしました。それにしてもこのサンプル(Photos.php)作った人、 そうとうやっつけ仕事をやってます。きっと相当忙しい人なんでしょうね でも、何故かオンラインマニュアルは丁寧です。 Zend Framework: Documentation: Picasa Web Albums の使用法
PHP : Zend Gdata による Picasa アップロード
posted by at 2010-05-23 12:33 | API | このブログの読者になる | 更新情報をチェックする