http://h.hatena.ne.jp/hideack/ の一言まとめ
- 19:49:00 ご飯食べに外出中。
http://h.hatena.ne.jp/hideack/ の一言まとめ
重松清, 茂木健一郎の共著の新刊。
"涙を流すこと"とか、"やるせなさ"等々、対談形式でまとめられている。
本質的なところではないかもしれないが、装丁も綺麗だし表紙や本文のなかの写真も素敵だ。
最近、菌類と数学に興味が向いているので。
http://h.hatena.ne.jp/hideack/ の一言まとめ
http://h.hatena.ne.jp/hideack/ の一言まとめ
はてなダイアリーAtomPubを使ってみた。PEARの中にもServices_Hatenaや、Do You PHP はてなの"mixiのあしあとAPI"の使い方を参照にしつつ。
Service_Hatenaはダイアリーの対応はまだの様だったので勉強がてら、PHP5専用で一から書いてみた。
<?php require_once('HTTP/Request.php'); class HatenaDiaryStore{ private $hatenaid; private $hatenapw; public function __construct(){ } public function __set($name, $value){ switch($name){ case "hatenaid": $this->hatenaid = $value; break; case "hatenapw": $this->hatenapw = $value; break; } } public function postNewEntry($title, $body){ $reqxml = sprintf('<?xml version="1.0" encoding="utf-8"?><entry xmlns="http://purl.org/atom/ns#"><title>%s</title><content type="text/plain">%s</content></entry>', $title, $body ); $this->postNewEntryWithXml($reqxml); } public function postNewEntryWithXml($xml){ $url = sprintf("http://d.hatena.ne.jp/%s/atom/blog", $this->hatenaid); // Hatena diary collection URL $wsseval = $this->getWsseHeaderValue(); // HTTP Request start. $httpreq = new HTTP_Request($url); $httpreq->setMethod(HTTP_REQUEST_METHOD_POST); $httpreq->addHeader('X-WSSE', $wsseval); $httpreq->addRawPostData($xml); if (PEAR::isError($httpreq->sendRequest())) { throw new Exception("http request error"); } if($httpreq->getResponseCode() != 201){ throw new Exception("bad request published"); } } private function getWsseHeaderValue(){ $created = gmdate('Y-m-d\TH:i:s\Z'); $nonce = base64_encode(sha1(mt_rand())); $pwdigest = base64_encode(pack('H*', sha1($nonce.$created.$this->hatenapw))); $xwsseval = sprintf( 'UsernameToken Username="%s", PasswordDigest="%s", Nonce="%s", Created="%s"', $this->hatenaid, $pwdigest, $nonce, $created ); return $xwsseval; } } $title = "てすと"; $body = <<<EOF 気分転換でごにょごにょ中。あは。 -テスト...テスト...ただいまテスト... -RSSリーダ購読されている方、ご了承ください。 EOF; $hatena = new HatenaDiaryStore(); $hatena->hatenaid = "hideack"; $hatena->hatenapw = "*******"; $hatena->postNewEntry($title, $body); ?>
意外とあっさり書けてびっくり。
先日から投稿してる「今日のひとことたち」は、はてなハイクのフィードを一日の終わり近くに読み取って、
このスクリプトで自動的に投稿させていたり...。ま、他の方法でごにょごにょしてもできそうですが。
ポストにお手紙が入っていた。

私が住んでいるアパートのどの辺りがマンションなのか小一時間NTTに問いつめたい。
いや、まぁ、気にするな。ってことだろうけど。
http://h.hatena.ne.jp/hideack/ の一言まとめ
気分転換でごにょごにょ中。あは。
会社帰り、食わなきゃやってらんないぞということで、どーだオラオラ的にトンカツ屋に行って、突発的にチキンカツを頼んでしまった。
トンカツでないところがポイントですね。
ものすごく現在胸焼け。
最近のコメント