とあるセクシーなデータ分析官

を目指す渋谷で働くソーシャルゲーム分析者の卵

PHPでtwitterAPIを使っててコメントの投稿、プロフィール画像の更新を試してみた

巷で流行のtwitterAPIを使ってコメントの新規投稿と
プロフィール画像の更新を試みてみました。


結果からいいますと、コメントの投稿は成功しましたが画像の更新はなぜかできませんでした…
以下、ソースになります。

setBasicAuth($username, $password);
$request->setMethod(HTTP_REQUEST_METHOD_POST);
$request->addPostData('status', $message);
$result = $request->sendRequest();
if (PEAR::isError($result)) {
    echo $request->getResponseBody();
}

//HTTP_Requestでプロフィール画像更新
$request = &new HTTP_Request($updateurl);
$request->setMethod(HTTP_REQUEST_METHOD_POST);
$request->addFile("upload.jpg", img/upload.jpg, 'multipart/form-data');
$request->setBasicAuth($username, $password);
$result = $request->sendRequest();
if (PEAR::isError($result)) {
    echo $request->getResponseBody();
}


下記が肝心の画像更新失敗でのエラーメッセージです。

 /account/update_profile_image.xml
  あなたが設定した背景用の画像に問題があるようです。おそらく大きすぎです。 

まず背景用の画像じゃなくてプロフィール画像なのに、
APIがおかしなエラー吐いてますね…、しかも投稿しているのは1.6kbの画像
大きすぎもへったくれもありません><


twitter側のAPIがおかしいっぽい気がします。
ちなみに、同じ画像を通常通りに投稿した場合は普通に更新できました。


ああ、なぞだ…



参考
・TwitterAPI仕様書
http://watcher.moe-nifty.com/memo/docs/twitterAPI20.txt

・HTTP_Requestで画像アップロード
http://www.syuhari.jp/blog/archives/151