アーカイブ

‘twitter’ タグのついている投稿

Services_Twitter

2010 年 2 月 4 日 コメント 1 件

PHPでtwitterを利用する場合にはServices_Twitterが便利です。
このServices_Twitterですが、公式のPEAR公式と野良(?)版が存在します。

  1. PEAR公式 Services_Twitter

  2. 悠希@arielaさん版 Services_Twitter
    最新版はCodeRepos /lang/php/Services_Twitter – CodeRepos::Share – Trac

  3. openpear版 Services_Twitter – Openpear

openpear版はさっき見つけたけど、ちょっと使う気になれないので選択肢としてはPEAR公式か悠希さん版。
環境がCentOS5系、PHP5.1系だったので、悠希さん版を検討したのですが、CodeReposに入れられてるもののほとんど更新されておらず、APIが増えてる現状を考えると作業量的に厳しいということでPEAR公式を利用することに。
Services_Twitter-0.1.0 betaがリリースされたので日本のと比較してみた – 肉とご飯と甘いもの @ sotarok
この頃と状況は結構変わっていて、json必須ではない(でも速度の関係でpeclのjsonを利用)、HTTP_Request2でsocket通信とかになっています。
結構珍しい造りになっていて、api群はdata/api.xmlで管理されています。
pearコマンドを利用せずに利用する人は注意が必要。

カテゴリー: php タグ: ,

TwitterAPIを利用したプロフィール画像更新はcontent-typeがimage/*じゃないとコケる

2010 年 2 月 4 日 コメントはありません

TwitterAPIを利用したプロフィール画像更新はcontent-typeがimage/*じゃないとコケる。
正確にはステータス200が返ってくるけど、更新されないからもっとタチが悪い。

Twitter REST API Method: account?update_profile_image
curl、rubyによるサンプルコードが載ってるけど、「Expect」ヘッダは不要。

PEAR公式のServices_Twitterを利用していたが、update_profile_imageが上手くいかない。
まだドキュメントが整理されていないので、ソースを読むかテストをみて、利用法を確認したが問題なし。
リクエストをトレースしてみたところ、content-typeが「application/octet-stream」だったのが気になったので「image/jpeg」にしてみたところ、画像の更新に成功。
PEAR::HTTP_Request2でmime-typeが取得できなかった場合、「application/octet-stream」がセットされていたというオチ。

pecl::Fileinfoかmime_content_typeを利用するようになっていたけど、?with-mime-magicとかコンパイル時に指定していなかった件。

カテゴリー: 日記 タグ: