PHPで「はてなハイク」へ投稿

Pocket

PHPで、はてなハイクのボットを作ることにしました。
Twitterのボットは作ったことがあります。
しかし、はてなハイクと認証の方式が違います。Twitterの投稿はOAuth認証ですが、はてなハイクはベーシック認証です。

ネットで調べて見つけたのがこちらのページ。
はてブの WebHook を利用して PHP スクリプトではてなハイクに投稿するサンプル - カミクズヒロイ /bin
そのものズバリのサンプルが載っていたので、そのまま使わせていただきます。ありがとうございます。

サンプル

function haikuPost($st, $kw, $id, $pw, $src, $url){
  require_once 'HTTP/Request.php';
  $req = &new HTTP_Request();
  $req->setURL($url);
  $req->setBasicAuth($id, $pw);
  $req->setMethod(HTTP_REQUEST_METHOD_POST);
  $req->addPostData('keyword', $kw);
  $req->addPostData('status', $st);
  $req->addPostData('source', $src);
  $req->sendRequest();
  return $req->getResponseBody();
}

説明

  • $st
    投稿の本文です。
  • $kw
    キーワードです。はてなハイクは投稿の本文だけでなく、タイトルのようなキーワードを付けることができます。
    なお、この項目を省略し、投稿の本文を「キーワード=本文」とすることでもセットされるようです。
  • $id
    はてなハイクのユーザーIDです。
  • $pw
    はてなハイクのパスワードです。
    はてなハイク - APIで調べます。
  • $src
    クライアント名をセットします。実際ははてなハイクのキーワードを指定します。
  • $url
    「http://h.hatena.ne.jp/api/statuses/update.format」をセットします。「format」のところは「json」や「xml」をセットします。情報をどのように取得するかが問題になりますが、投稿の場合は帰ってくる情報はさほど重要ではないかもしれません。詳しい使い方ははてなハイク - APIで確認して下さい。

これらを適当にセットして次のとおり書けば投稿できます。

$result = haikuPost($st, $kw, $id, $pw, $src, $url);
echo $result;

補足

気になったのは「HTTP/Request.php」の部分。
「PEARのHTTP_Requestとやらをインストールしなければならない?」と思い、色々調べましたが、分かりません。
私はロリポップのレンタルサーバを使っているのですが、「ひょっとすると元からインストールされているのかも」と思い、試しに上のサンプルを実行したところ、投稿できてしまいました。

[ 2010年12月5日 | カテゴリー: デジタル | タグ: , , ]

« | »

コメント

  1. […] 先日、PHPを使ってはてなハイクに投稿する方法を書きましたが、Twitterに投稿する方法も書いておきます。 詳しくはPHP+OAuthでTwitter – SDN Projectに書かれています。ありがとうございました。 […]

  2. […] 先日、PHPを使ってはてなハイクに投稿する方法を書きましたが、Twitterに投稿する方法も書いておきます。 詳しくはPHP+OAuthでTwitter – SDN Project(リンク切れ)に書かれています。ありがとうございました。 […]

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報