日記投稿APIを追加したServices_MixiAPI 0.2.0リリース
via. http://ido.nu/kuma/2008/07/30/digging-mixi-for-iphone-application-and-new-api-for-posting-a-diary-with-a-photo/, mixi日記投稿用APIを使ってPHPからmixi日記にポスト | Creazy!
個人的には完全に出遅れた感が。。。
http://ido.nu/kuma/2008/07/30/digging-mixi-for-iphone-application-and-new-api-for-posting-a-diary-with-a-photo/によると、どうもmixiのAPIに日記投稿APIが追加されていたらしく、元後輩がmixi日記投稿用APIを使ってPHPからmixi日記にポスト | Creazy!でPHPのサンプルコードを公開してます。
で、
PEAR化についてはshimookaさんあたりがServices_MixiAPIに追加とかしてくれると(勝手に)思い込んでいるので期待して待つ事にします。
これは「とっとと作れや」ということですか?そうですか。
ということで、以前から公開しているServices_MixiAPIに無理矢理突っ込んでみました。
インストール・アップグレードは
$ sudo pear install -af http://www.doyouphp.jp/pear/Services_MixiAPI-0.2.0.tgz $ sudo pear upgrade -af http://www.doyouphp.jp/pear/Services_MixiAPI-0.2.0.tgz
な感じで。
使い方はざっと次のとおりです。
<?php require_once 'Services/MixiAPI/Diary.php'; require_once 'Services/MixiAPI/Image.php'; require_once 'Services/MixiAPI/Factory.php'; error_reporting(E_ALL); /** * $user,$pass,$idを適宜書き換えてください */ $user = '[mixiのログインID]'; $pass = '[mixiのパスワード]'; $id = '[mixiのユーザーID]'; /** * 日記オブジェクトの作成 */ $title = 'Services_MixiAPIを使った投稿テスト'; $subject = <<< EOD mixiも裏で色々と用意しているみたいですね。 「あしあと」がatom+WSSE認証で配信されているようなので、試]]>してみました。WSSE認証については以下を参照ということで。 * Web Services Security UsernameToken Profile 1.0(pdf) * はてなブックマークAtomAPIだのWSSEだの * はてなフォトライフatomapiとは - はてなダイアリー 以下サンプルですが、X-WSSEリクエストヘッダの内容を作っている部分は、PEAR::Services_HatenaとServices_Hatena - PHPの挑戦 (ハズレ日記)を参考にさせてもらいました。 つーか、ほとんどそのままですね ;-) EOD; $diary = new Services_MixiAPI_Diary($title, $subject); /** * mixiはjpegのみ対応なので注意 */ $diary->setImage(new Services_MixiAPI_Image('/path/to/jpeg_file.jpg')); /** * 日記投稿APIオブジェクトの作成 */ $service = Services_MixiAPI_Factory::getInstance( Services_MixiAPI_Factory::API_MODE_POSTDIARY, $user, $pass, $id); /** * 日記オブジェクトをセット */ $service->setDiary($diary); /** * リクエスト送信 */ $service->execute(); /** * 結果のXML */ var_dump($service->get());
Services_MixiAPI_DiaryオブジェクトにServices_MixiAPI_Imageオブジェクトを突っ込んでおくと、画像付きの日記を投稿できます。この辺の話はmixi日記投稿用APIを使ってPHPからmixi日記にポスト | Creazy!を参照してください。Services_MixiAPI_Imageオブジェクトがない場合は、写真なしの日記になります。
コードですが、いつも通りCodeReposに上げてあります。
Services_MixiAPI 0.1.x系とAPI(interface的な意味)がかなり違っていたのですが、とりあえずServices_MixiAPIクラスに__callメソッドを追加することで逃げています。。。そもそもAPIが違うのでこんな感じになってますが。。。あー、この辺をどうにかしたい!
あと、コメントが結構適当ですw