上の記事との関連なのですが、はてなでコメントをもらうと私は携帯にコメントを飛ばす様にしていて、今日はたまたま外勤して電車に乗っているときだったのですぐお返事をしたのですが。本題はそこでなく...
コメントのメールには、コメントを記入していただいた方のIPアドレスがコメントの内容とともに記載されていて、今日メールを見たときに
どこかで見覚えあるなぁ。
と思ったら、思い出した。
私が卒業した大学の構内でネットワーク接続した際に割り当てられるレンジ内のIPであった(驚き)
上の記事との関連なのですが、はてなでコメントをもらうと私は携帯にコメントを飛ばす様にしていて、今日はたまたま外勤して電車に乗っているときだったのですぐお返事をしたのですが。本題はそこでなく...
コメントのメールには、コメントを記入していただいた方のIPアドレスがコメントの内容とともに記載されていて、今日メールを見たときに
どこかで見覚えあるなぁ。
と思ったら、思い出した。
私が卒業した大学の構内でネットワーク接続した際に割り当てられるレンジ内のIPであった(驚き)
Nabaztagと戯れる(その1)で書いた記事にコメントを頂いたので補足。
このときの書き方は非常にまずくて自分で書いたNabaztagの制御用APIにアクセスするラップクラスを載せていなかったのでこのままでは実行できません。
まず、ここではPEARのHTTP_Clientを使っているので、もし現在インストールされていなければインストールが必要です。
未インストールの場合は次の様に入力すればOKになります。
$ pear install --alldeps HTTP_Client
で、前回requireしていた"Nabaztag.php"は、以下の様な内容でした。
やっていることは...全然たいしたことはしていなくて、Nabaztagの公開されているAPIにHTTPでアクセスを行うという内容です。
いま思えば、わざわざHTTP_Client使わなくてもいいんじゃない?という気もするけど...。(GETしてるだけだし...)
ともあれ、下のソースを参照できる場所に置いてもらって以前の記事のソースを実行すれば、側にいるウサギが喋る。か、ポッドキャストを再生するはずです。
ちなみにserialとtokenには、http://my.violet.net/からログインして、割り当てられているシリアルナンバーとトークンナンバーを入力すればOKです。
それぞれのナンバーは、操作したいNabaztagで、登録アプリの設定→エコシステムのタブを選択で表示されます。
あと、大変に重要な事ですが、これNabaztagを買ったときの勢いで書いてそれっきりなので、エラーも何もみていません。
日本語しかウサギにしゃべらせられません。等々いろいろありますが、あらかじめご了承くださいませ。
NabaztagのAPIは他にもいろいろあるので多少まともにすべく、手を加えたいところです。
あいかわらず大雑把ですがご参考まで。
[注]2009/11/8 掲載時のコピペミスで一部削れていた点を修正
<?php require_once("HTTP/Client.php"); // Nabaztag.php class Nabaztag { private $serial; private $token; private $httpclient; // --- Nabaztag Web APIの位置 private $api; private $streamapi; function __set($name, $value){ switch($name){ case "serial": $this->serial = $value; break; case "token": $this->token = $value; break; default: break; } } public function __construct(){ $this->httpclient =& new Http_Client(); $this->api = "http://api.nabaztag.com/vl/FR/api.jsp?sn=%s&token=%s&"; $this->streamapi = "http://api.nabaztag.com/vl/FR/api_stream.jsp?sn=%s&token=%s&"; } public function say($message){ $message = urlencode($message); $command = sprintf( $this->api."voice=JP-Tamura&tts=%s", $this->serial, $this->token, $message ); $this->httpclient->get($command); } public function playMp3($list){ $command = sprintf( $this->streamapi."urlList=%s", $this->serial, $this->token, $list ); $this->httpclient->get($command); } } ?>
http://h.hatena.ne.jp/hideack/ の一言まとめ
早いお返事ありがとうございます。ブログを参考に頑張ってみます。そして、まさかの驚きでしたw
是非試してみてください。
また、何かあればコメントなりtwitterなりでお知らせください〜。
私がわかる範囲であればお答えしますので…。
前回のソースと今回のソースをサーバにアップロードし、前回のソースを実行してみたところ、「IEではこのページは表示できません。」というエラーが出てきます。何か原因分かるでしょうか。(firefoxでは画面が真っ白になります。)
ん。それはそもそもサーバー上でPHPが動いていない…?
ローカルに環境を作ってコマンドラインで実行がよいと思われます〜
<?php
require_once('Nabaztag.php');
$pear install –alldeps HTTP_Client;
$alfons = new Nabaztag();
$alfons->serial = "************";
$alfons->token = "*********";
$alfons->say("テスト");
?>
をローカルで実行したところ
Parse error: syntax error, unexpected T_STRING in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\Nabaztag2.php on line 3
というエラーが出てきます。
なぜでしょう??
ググってできる限り調べたのですが・・・
何度も質問、すいみません。
なるほど。
では、ちょっと説明が長くなるかもしれませんので直接メールしますね。(最初コメント頂いた際に書かれていたメール宛)
お待ちくださいませ。