• 締切済み

mixiのブログにPHPで投稿をするプログラムで

タイトルの件で教えて頂きたい事が出てきました。 以下のサイトで公開されてますプログラムを利用しまして ttp://creazy.net/2008/07/post_a_mixi_dialy_from_php.html 少し省略していますが下記のように少し変更して使って見ました。 尚、テキストだけでも投稿可能となっていましたので 画像の部分は外しています。 試してみましたら$res_codeの所で「404」が返って来まして 失敗しているようで投稿できません。 いろいろと考えてやってみましたが良く分かりません。 ご存知の方がいらっしゃいましたらご教授のほどお願いいたします。 環境は以下の通りです。 ・OS:Windows XP/Apache2.0 ・PHP 5.2 以下が試したプログラムの抜粋です ------------------------------------------------------------ // mixi USER infomation $user = 'mixiのログインID'; // << 実際は登録データを設定済みです $pass = 'mixiのパスワード'; // $id = 'mixiのユーザーID'; // // WSSE Authentication // Windowwsでは、posix_getpidは使えないので uniqidに変更 //$nonce = pack('H*', sha1(md5(time().rand().posix_getpid()))); $nonce = pack('H*', sha1(md5(time().rand().uniqid("")))); $created = date('Y-m-d\TH:i:s\Z'); $digest = base64_encode(pack('H*', sha1($nonce . $created . $pass))); $wsse_text = 'UsernameToken Username="%s", PasswordDigest="%s", Nonce="%s", Created="%s"'; $wsse_header = sprintf($wsse_text, $user, $digest, base64_encode($nonce), $created); // mixi POST URL $url = 'http://mixi.jp/atom/diary/member_id=' . $id; //------------------------------------------------------------ // Post Text //------------------------------------------------------------ $post_data = "<?xml version='1.0' encoding='utf-8'?>" . "<entry xmlns='http://www.w3.org/2007/app'>" . "<title>テストタイトル</title>" . "<summary>テスト・テスト・テスト</summary>" . "</entry>"; $request = new HTTP_Request($url); $request->setMethod(HTTP_REQUEST_METHOD_POST); $request->addHeader('X-WSSE', $wsse_header); $request->setBody($post_data); if (PEAR::isError($request->sendRequest())) { die('request failed'); } $res_code = $request->getResponseCode(); echo "$res_code\n"; // 404が返ってくる ------------------------------------------------------------

みんなの回答

  • memphis
  • ベストアンサー率40% (975/2395)
回答No.1

参考にしている情報が2008年と非常に古いものです。 APIが新しくなっているので、それに合わせてPHPを作成する必要があります。 詳しくはmixiを見て下さい。

moo9999
質問者

お礼

アドバイスありがとうございます。 実は他のものもいろいろと調査してみたのですが 私のレベルの低さもあり、mixiのAPIにつきましては MixiAPI.phpなどを含んだライブラリーなども検討しましたが なかなか把握できなく他の方が作成されたサンプルなどを 頼って試したりしている状況です。 今回の方法は使い物にならないようですので 何か分かりやすいサンプルなどがありましたら ご紹介頂ければと思います。

関連するQ&A