はてなブックマークWebHook
はてなブックマークのWebHookからTwitterに投稿するPHPスクリプトを作成
PEARのServices_Twitterがなんだか調子が悪かったので
別のTwitter用のclassを利用
tijsverkoyen/TwitterOAuth · GitHub
はてブWebHookのドキュメント
はてなブックマーク Web Hookとは - はてなキーワード
<?php /** * Hatebu Webhook * * created. 2009/08/10 tknzk * * Twitter Class * cf:http://classes.verkoyen.eu/twitter/ * cf:http://classes.verkoyen.eu/twitter/docs * */ /** * common */ require_once 'twitter/twitter.php'; /** * Twitter User/PW HatenaWebHookKey */ $user = "ツイッターのID"; $pass = "ツイッターのPW"; $key = "はてブWebHookのキー"; /** * Hatena Bookmark WebHook POST * * username ブックマーク,IDコール,スター付与ユーザid * title エントリのタイトル * url エントリのURL * count エントリのブックマーク数 * status ステータス * add/update/delete * star * id_call * favorite:add * comment ブックマークコメント * timestamp イベント時刻(W3CDTF) * is_private ブックマークの公開状態 * key 設定キー * color スターイベント時にスターの色 * quote スターイベント時に引用文字列 * * 文字エンコーディング UTF-8 * */ /** * POST */ if(is_array($_POST)) { foreach($_POST as $name => $val) { $key_name = "INP_" . $name; if(!is_array($val)) { $detect_encode = null; $detect_encode = mb_detect_encoding($val); ${$key_name} = htmlspecialchars(mb_convert_encoding($val,"UTF-8",$detect_encode), ENT_QUOTES, 'UTF-8'); ${$key_name} = stripslashes(${$key_name}); } } } /** * Twitter */ $twit = new Twitter($user,$pass); /** * 処理 */ if($INP_key == $key) { $txt = null; if($INP_status == "add") { $txt = "[B!]" . $INP_url . "[" . $INP_count . "users]"; $twit->updateStatus($txt); } if($INP_status == "update") { //$txt = "[B!]" . $INP_url . "[" . $INP_count ."users]"; //$twit->updateStatus($txt); } if($INP_status == "delete") { } if($INP_status == "star") { } if($INP_status == "id_call") { } if($INP_status == "favorite:add") { } }else{ echo "Error\n"; }