OAuth Echoを使ってTwitpicに画像をアップロードする

TwitpicのAPIを使って画像アップロードするには、OAuth Echo という仕組みを使う。

http://dev.twitpic.com/docs/2/upload/

OAuth Echoの仕組み

  1. 手元で事前にOAuthリクエストするためのAuthenticationヘッダを生成しておいて、それをそのまま別サービスに送信する。
  2. 別サービスは、受け取ったAuthenticationヘッダを使ってTwitterAPIにアクセスし、TwitterAPIからユーザー情報を受け取る。

ということで、別サービスに秘密鍵(ConsumerSecret, AccessTokenSecret)を渡さずに、ユーザー認証できてしまうというわけ。

ユーザー情報の受け渡しに使われるTwitterAPIは GET account/verify_credentials です。

Twitpicに画像アップロードする手順

※事前にTwitpicのAPIキーを取得しておく必要があります → http://dev.twitpic.com/apps/new/

  1. TwitterAPI「GET account/verify_credentials」にOAuthリクエストを行うためのAuthenticationヘッダ文字列を作成する
  2. TwitpicのAPIにアクセスする際、HTTPヘッダに以下の2つを追加する

Twitter API のバージョンが 1 になっていますが間違いではありません(1.1で試したらうまくいきませんでした)