1/23/2012

[php で OAuth を使ってみる:第四回] TwitPic に画像を post する

TwitPic に OAuth を使って画像を post してみる。
※この情報は 2012 年 1 月現在のものです。仕様が変更される可能性は充分にあるので、ご了承ください。

OAuth を使った認証の流れは Twitter に文字を post する を参照。

1. TwitPic アプリを登録する
TwitPic Developers - Register an Application にアクセスし、アプリの登録を行う。
Application Title: アプリ名(日本語不可)
Application Description: アプリの説明
Application Homepage: アプリ本体の URL
Your Email: email アドレス
Are You Human?: CAPTCHA による認証

※全ての情報は登録後でも変更できるので、気楽に。

2. TwitPic の使うキーを確認する
TwitPic Developers - Your Applications に表示されている「API Key」を確認する。これも今後必要となるキー。

3. 必要となるライブラリをインストールする
下記からダウンロードし、アプリとするディレクトリにアップする。
meltingice/php-twitpic: meltingice/php-twitpic - GitHub, /アプリのディレクトリ/TwitPic

4. post する
下記の php をアプリのディレクトリにアップする(予め tmp ディレクトリを 707 で作っておく)
※html の form 要素内での input type='file' は name='img' としている。
<?php
$status = 'テスト';
// 一度自分のサーバにアップ
$uploaddir = './tmp/';
$photo = $uploaddir. basename($_FILES['img']['name']);
move_uploaded_file($_FILES['img']['tmp_name'], $photo);

require_once 'TwitPic/TwitPic.php';

$twitpic_key = 'xxxxxxxxxxxxxxxx'; // 「3.」で確認した「API Key」
$consumer_key = 'xxxxxxxxxxxxxxxx'; // 以前のエントリーで確認した Consumer key
$consumer_secret = 'xxxxxxxxxxxxxxxx'; // 以前のエントリーで確認した Consumer secret
$access_token = 'xxxxxxxxxxxxxxxx'; // 以前のエントリーで取得した access_token
$access_token_secret = 'xxxxxxxxxxxxxxxx'; // 以前のエントリーで取得した access_token_secret

$twitpic = new TwitPic(
  $twitpic_key,
  $consumer_key,
  $consumer_secret,
  $access_token,
  $access_token_secret
);

try{
  $result = $twitpic->uploadAndPost(
    array(
      'media'=>$photo,
      'message'=>$status // post する本文
    ),
    array('format'=>'xml')
  );
  $result = print_r($result, true);
} catch (Exception $e) {
  echo $e->getMessage();
  exit;
}
// 自分のサーバにアップした画像を削除
unlink($photo);

echo "<script type='text/javascript'>alert('画像「". $_FILES['img']['tmp_name']. "」をpostしました!');</script>\n";
?>

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.