【BOCCO開発】BOCCOのAPIが公開されたので使ってみました。
BOCCOのAPIが公開されています!
ロボットエバンジェリストの西田です。
BOCCOのAPIが公開されているとのことなので、実際に動かしてみました!
まずは申し込みをしよう!
BOCCOのAPIを使用するには、申し込みが必要です。BOCCO API 概要のページから申し込みをしましょう。
軽く調べたのですが、BOCCO APIは、ベータなのかベータじゃないのかよくわからなかったので、記事中ではベータ無しのBOCCO APIに統一しています。
申し込みページには、「BOCCO ベータAPI 申し込み」と書いてありますが、BOCCO APIでも使用することが出来たので大丈夫だと思います。
BOCCO ベータAPI 申し込みのときは、BOCCO appに登録してあるメールアドレスで申し込みましょう。
申し込みページに記述が見当たりませんが、メールアドレスに紐付いたAPIキーが発行されるみたいです。
何が出来るの?
BOCCO APIを使うと何が出来るのでしょうか?
BOCCO に自由な言葉をしゃべらせたりデータを取得したりすることができます。
シンプルですね!
アプリを準備しよう!
事前に、BOCCO appをスマホにインストールしておきましょう。
「BOCCO ベータAPI 申し込み」と同じメールアドレスでユーザー登録をします。
APIキーが届く前に、ひととおり使用してみるといいでしょう。
余談ですが、背景の写真を一度登録してしまうと元に戻す方法がわからないのでハマります。しょうが無いからカメラのレンズを指でおさえて黒い画像にして設定し直しました。
早速やってみよう!
APIキーがとどいたので、早速やってみます!メールで、こんな感じの文字列が届きます。
– API KEY:
dqdsj4vu5w7f0mb1zmi1f7jpfhitpuplxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
BOCCOのAPIドキュメントは、主にチュートリアルとリファレンスで構成されています。
チュートリアルをみながら、実際にやってみることにします。
BOCCO API のアクセストークンを取得する
まずは、アクセストークンを取得してみましょう。
チュートリアルを読むとcurlコマンドでの方法が書いてあるので試してみます。
チュートリアルに説明がないので補足。macの場合、ターミナルでcurlコマンドが使えるので、実行すればサンプルを試すことが出来ます。windowsの場合はcurlコマンド自体をインストールする必要があると思います。
apikeyとemailとpasswordを指定すると、アクセストークンが取得できます。
-d “apikey=dqdsj4vu5w7f0mb1zmi1f7jpfhitpuplxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx” \
-d “email=user@example.com” \
-d “password=strongpassword”
上記のコマンドのapikeyなどを自分のものに置き換えて実行したところ、無事実行できました。
> -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を呼ぶ形みたいです。
メッセージを送信するAPIは、チャットルームにメッセージを送信することにより、BOCCOに喋らせることが出来ます。
unique_id : 任意のユニークidを指定します。ユニークidが同じメッセージは送られません。UUID version 4 の使用が推奨です。ここでは、 uuidgen コマンドを使用しています。
macを使っているのであれば、uuidgenコマンドがインストールされていると思うので、ターミナルでuuidgenと入力して、出力されたUUIDを指定してください。
3E49B030-093A-479F-A9F4-4DE203B17093
無事APIを実行できれば、BOCCOを喋らせることが出来ます。
他にも、メッセージを取得するAPIを使用するとチャットルームの会話が取得できるようなのですが、上手く行きませんでした><
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 に自由な言葉をしゃべらせたりデータを取得したりすることができます。”ということで、ワクワクしていたのですが、実際はチャットルームに書いたりチャットルームの書き込みを取得するだけだったので、なんか違うと思いました。