2008-08-01
■[PHP][PEAR]日記投稿APIを追加したServices_MixiAPI 0.2.0リリース
via. mixi for iPhoneから発掘されたmixi日記投稿用API « ku, mixi日記投稿用APIを使ってPHPからmixi日記にポスト [C!]
個人的には完全に出遅れた感が。。。
mixi for iPhoneから発掘されたmixi日記投稿用API « kuによると、どうもmixiのAPIに日記投稿APIが追加されていたらしく、元後輩がmixi日記投稿用APIを使ってPHPからmixi日記にポスト [C!]でPHPのサンプルコードを公開してます。
で、
PEAR化についてはshimookaさんあたりがServices_MixiAPIに追加とかしてくれると(勝手に)思い込んでいるので期待して待つ事にします。
mixi日記投稿用APIを使ってPHPからmixi日記にポスト ::: creazy photograph
これは「とっとと作れや」ということですか?そうですか。
ということで、以前から公開している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日記にポスト [C!]を参照してください。Services_MixiAPI_Imageオブジェクトがない場合は、写真なしの日記になります。
コードですが、いつも通りCodeReposに上げてあります。
Services_MixiAPI 0.1.x系とAPI(interface的な意味)がかなり違っていたのですが、とりあえずServices_MixiAPIクラスに__callメソッドを追加することで逃げています。。。そもそもAPIが違うのでこんな感じになってますが。。。あー、この辺をどうにかしたい!
あと、コメントが結構適当ですw
購入: 7人 クリック: 205回
- 629 http://creazy.net/2008/08/rss2mixi_php.html
- 60 http://phpspot.org/blog/archives/2008/08/mixirss2mixi.html
- 35 http://ido.nu/kuma/2008/07/30/digging-mixi-for-iphone-application-and-new-api-for-posting-a-diary-with-a-photo/
- 34 http://d.hatena.ne.jp/
- 33 http://reader.livedoor.com/reader/
- 31 http://d.hatena.ne.jp/keyword/はてなフォトライフAtomAPI
- 26 http://creazy.net/2008/07/post_a_mixi_dialy_from_php.html
- 25 http://www.php.gr.jp/
- 19 http://d.hatena.ne.jp/keyword/はてなブックマークAtomAPI
- 18 http://blog.livedoor.jp/hayashi311/archives/325388.html







