エンジニアが「好き」と伝えるAPIを実装してみた
きっかけ
@oh_sky 実装出来たら教えてください(o⁰⊖⁰o)記事にします。
—ともチャンさん (@tb_bot) 2013年4月19日
正直なところ、ツイートした時は実際にやる気などなかったが、返信をいただいてやらなければならないような気がした。
備えあれば憂い無しと言うし、いつ彼女ができても大丈夫なように、このAPIを実装する事にした。
作成したコード
https://github.com/oh-sky/yoshiori
CakePHP2 で作成。自分で作成したファイルはYoshioriController.phpのみ。
API使用例
http://oh-sky-ohsky.sqale.jp/yoshiori?q=do+you+love+me
http://oh-sky-ohsky.sqale.jp/yoshiori?q=私の事、好き?
仕様
APIへのリクエスト方法
プロトコル : HTTP
リクエストメソッド : GET
GETパラメータ :
パラメータ名 | 説明 | 型 | 例 |
---|---|---|---|
q | 質問内容 | string | do you love me |
レスポンス
Content-Type : application/json; charset=UTF-8
キー | 説明 | 型 | 例 |
---|---|---|---|
lang | 言語 | string | en または ja |
message | 質問に対する返答 | string | I love you. |
質問が英語の場合(というか、質問にloveが含まれていた場合)は英語で返答をします。 それ以外の場合は日本語で返答をします。
質問内容が空だった場合や、質問が理解できなかった場合は「ん?」と返答します。
問題
- 現状では誰にでも「I love you.」や「愛してる。」などとレスポンスを返してしまうので、不特定多数の人から勘違いされる恐れがある。
- 返答のバリエーションが少なすぎる。
- 質問内容の解析がザックリすぎて、質問内容によっては見当違いの返答をし得る。
- やっつけ仕事すぎて、記事にしてもらうほどのものでは無い。