2013年8月17日土曜日

mbedのTwitterExampleでツイートしてみる

 mbedでTwitterの情報を取り込んで処理させる第一歩として、mbedからTwitterに投稿する動作をさせてみました。その中でトラブルがあったのでそのまとめです。

 まずはtwitterのサンプルプログラムを探すべく、「twitter」と検索。トップに出たCookBookのTwitterExampleをインポートします。

SuperTweetを経由するので登録。

http://blog.fkoji.com/2010/05250022.html

連携アプリ認証後、登録画面が変わっており、Email・Application Name・Description・Application Website・Organizationについて入力するようになっていました。重要なのはEmailだけで他はそれぞれ適当に入力して大丈夫かと思われます。
入力後、承認メールが送られてくるのでメール内のリンクをクリックしてアカウントを有効にします。
登録後の手順は上記サイトとほぼ同じでした。
mbedオンラインコンパイラに戻り、twitterアカウント名とSuperTweetにて設定したパスワードをそれぞれ"myuser", "mypass"のところに入力。(twitterアカウント名は@不要です) コンパイルしようとしたところ・・・

トラブルその1:ライブラリをインポートしてもヘッダファイルが不足しておりコンパイルできない
HTTPClient.hがないと言われます。
Fix it!ボタンを押すとライブラリを探す画面が出るので、「NetServices」をインポートします。HTTPClientもありますが、それをインポートしてもまた別のエラーでコンパイルが通りませんでした。
これにて無事にバイナリをmbedに転送してツイートが!と思いきや・・・

トラブルその2:ツイートできないorz
原因はツイートの送り先URLが古いままのようです。プログラムの36行目が
HTTPResult r = twitter.post("http://api.supertweet.net/1.1/statuses/update.xml", msg, NULL);
となっていますが、Supertweetの仕様(http://www.supertweet.net/about/api)を見てみるとアドレスの末端がxmlではなくjsonになっています。

プログラムも合わせてjsonに修正したところツイートしてくれました。

1 件のコメント :

Unknown さんのコメント...

初めまして。
こちらの記事のおかげで無事、mbedからtweetできました!
@inouema