【BOCCO開発】BOCCOのAPIが公開されたので使ってみました。

BOCCOのAPIが公開されています!

ロボットエバンジェリストの西田です。

BOCCOのAPIが公開されているとのことなので、実際に動かしてみました!


24306638756_eba373e8d1_k



まずは申し込みをしよう!

BOCCOのAPIを使用するには、申し込みが必要です。BOCCO API 概要のページから申し込みをしましょう。

※ 西田めも

軽く調べたのですが、BOCCO APIは、ベータなのかベータじゃないのかよくわからなかったので、記事中ではベータ無しのBOCCO APIに統一しています。

申し込みページには、「BOCCO ベータAPI 申し込み」と書いてありますが、BOCCO APIでも使用することが出来たので大丈夫だと思います。

※ 西田めも
BOCCO ベータAPI 申し込みのときは、BOCCO appに登録してあるメールアドレスで申し込みましょう。
申し込みページに記述が見当たりませんが、メールアドレスに紐付いたAPIキーが発行されるみたいです。


何が出来るの?

BOCCO APIを使うと何が出来るのでしょうか?

BOCCO に自由な言葉をしゃべらせたりデータを取得したりすることができます。

シンプルですね!



アプリを準備しよう!

事前に、BOCCO appをスマホにインストールしておきましょう。

写真 2016-10-05 11 44 41


「BOCCO ベータAPI 申し込み」と同じメールアドレスでユーザー登録をします。
APIキーが届く前に、ひととおり使用してみるといいでしょう。


写真 2016-10-04 18 31 38
こんな感じで登録しておきましょう

余談ですが、背景の写真を一度登録してしまうと元に戻す方法がわからないのでハマります。しょうが無いからカメラのレンズを指でおさえて黒い画像にして設定し直しました。




早速やってみよう!

APIキーがとどいたので、早速やってみます!メールで、こんな感じの文字列が届きます。

– API KEY:
dqdsj4vu5w7f0mb1zmi1f7jpfhitpuplxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

BOCCOのAPIドキュメントは、主にチュートリアルとリファレンスで構成されています。
チュートリアルをみながら、実際にやってみることにします。



BOCCO API のアクセストークンを取得する

まずは、アクセストークンを取得してみましょう。
チュートリアルを読むとcurlコマンドでの方法が書いてあるので試してみます。


※ 西田めも

チュートリアルに説明がないので補足。macの場合、ターミナルでcurlコマンドが使えるので、実行すればサンプルを試すことが出来ます。windowsの場合はcurlコマンド自体をインストールする必要があると思います。

apikeyとemailとpasswordを指定すると、アクセストークンが取得できます。

curl -i “https://api.bocco.me/alpha/sessions” \
-d “apikey=dqdsj4vu5w7f0mb1zmi1f7jpfhitpuplxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx” \
-d “email=user@example.com” \
-d “password=strongpassword”

上記のコマンドのapikeyなどを自分のものに置き換えて実行したところ、無事実行できました。

tonosamalabo:~ tonosamart$ curl -i “https://api.bocco.me/alpha/sessions” \
> -d “apikey=dqdsj4vu5w7f0mb1zmi1f7jpfhitpuplxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx” \
> -d “email=user@example.com” \
> -d “password=strongpassword”
HTTP/1.1 200 OK
Server: Cowboy
Connection: keep-alive
Content-Type: application/json; charset=utf-8
Vary: Accept-Encoding
Date: Tue, 04 Oct 2016 09:47:37 GMT
Content-Length: 129
Via: 1.1 vegur

{“access_token”:”x2c4sjxacw4tq72q5h9vrsgjbcz3p55ixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”,
“uuid”:”c0565c0a-5e98-4f5b-8315-xxxxxxxxxxxx”}

このAPIで取得した、アクセストークン(access_token)をパラメータとしてAPIを呼び出すことで、BOCCOに自由な言葉をしゃべらせたりデータを取得したりすることができるみたいです。
アクセストークンは、一定時間で変わるようです。



そのほかのAPIを使ってみる

アクセストークンが取得できたので、その他のAPIを実行してみましょう。
チュートリアルで紹介されているAPIは、以下のとおりです。

アクセストークンを取得する
チャットルームを取得する
メッセージを送信する
メッセージを取得する

チャットルームの取得APIは、BOCCO appで作成したチャットルームの情報が取得できます。チャットルームの部屋IDを取得して、その部屋に対するAPIを呼ぶ形みたいです。

写真 2016-10-04 19 24 50
ここの情報が取得できます。

メッセージを送信するAPIは、チャットルームにメッセージを送信することにより、BOCCOに喋らせることが出来ます。

unique_id : 任意のユニークidを指定します。ユニークidが同じメッセージは送られません。UUID version 4 の使用が推奨です。ここでは、 uuidgen コマンドを使用しています。

macを使っているのであれば、uuidgenコマンドがインストールされていると思うので、ターミナルでuuidgenと入力して、出力されたUUIDを指定してください。

tonosamalabo:~ tonosamart$ uuidgen
3E49B030-093A-479F-A9F4-4DE203B17093

無事APIを実行できれば、BOCCOを喋らせることが出来ます。

喋らせてみた動画

他にも、メッセージを取得するAPIを使用するとチャットルームの会話が取得できるようなのですが、上手く行きませんでした><

curl -i “https://api.bocco.me/alpha/rooms/E7607BA3-2AA0-4DEB-8959-XXXXXXXXXXXX/messages?access_token=x2c4sjxacw4tq72q5h9vrsgjbcz3p55ixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”

tonosamalabo:~ tonosamart$ curl -i “https://api.bocco.me/alpha/rooms/E7607BA3-2AA0-4DEB-8959-XXXXXXXXXXXX/messages?access_token=x2c4sjxacw4tq72q5h9vrsgjbcz3p55ixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”
HTTP/1.1 404 Not Found
Server: Cowboy
Connection: keep-alive
Content-Type: application/json; charset=utf-8
Vary: Accept-Encoding
Date: Tue, 04 Oct 2016 10:20:07 GMT
Content-Length: 37
Via: 1.1 vegur

{“code”:404001,”message”:”Not Found”}

APIを実行したところ、404 Not Found エラーになってしまいました。
とりあえず、リファレンスのエラーコードを確認してみます。

HTTP ステータスコードは本来の意味で使われます。詳しくは、HTTPステータスコード(ウィキペディア) をご覧ください。

(中略)

404 : リクエストされたリソースが見つからない、もしくは権限がありません。リソースがアクセス可能なことを確認してください。



うーん、これはどうしようもないですね。
でもまあ、大体のAPIはテストできました!


と、いうわけで、チュートリアルを実行してみました!まだ機能が少ないみたいなので、これからに期待ですね!
わーわー

こうおもった!

“BOCCO に自由な言葉をしゃべらせたりデータを取得したりすることができます。”ということで、ワクワクしていたのですが、実際はチャットルームに書いたりチャットルームの書き込みを取得するだけだったので、なんか違うと思いました。


ABOUT THE AUTHOR / 

西田 寛輔

とのさまラボ代表。ハイパーメディア・ロボット・クリエイターとして、ロボットアプリの開発を行うほか、自身でもロボットを開発中。ソフトバンクロボティクスが主催する公式アプリコンテストでは2大会連続ファイナリストに選出されるなど、数々の実績を持つ。2016年に、ヒトとロボットの音楽ユニット mirai capsule を結成。ロボスタでは、ロボットエバンジェリスト/スマートスピーカーエバンジェリストとして活動中。

PR

連載・コラム