<br/> # COTOHA APIを<br/>使ってみた。 #### 2020.3.9 <br/> --- ## 話すこと - Cotoha APIって何? - 作ったもの - 使用アーキテクト - 詰まったポイント 👈 --- ## Cotoha API とは? > NTTグループの40年以上の研究成果を活かした自然言語処理技術や音声認識・合成技術を、APIでお手軽に利用できるよう提供しているサービスです。 > By 公式 参考 : https://api.ce-cotoha.com/contents/index.html --- <br/> 今回は **感情分析** を使ってみました🌟 ![](https://i.imgur.com/jElz0s4.png) <br/> --- ## 作ったもの 入力したtextを`cotoha api`に投げて、 その感情分析結果をブラウザ表示するアプリ ![](https://i.imgur.com/JGQS7yq.png) ※ 見た目が終わってます. --- ## 使用アーキテクト - React - Redux - express - styled-components - axios - cotoha API --- <br/> # ここからが本題です🥺 <br/> --- <br/> ### 詰まったポイント① reactとexpress連携しないとだめだった。 <br/> --- #### まずnodemon使いたい expressのデフォルトだと、エラーになった瞬間にストップする。 ```javascript= "scripts": { "start": "node ./bin/www", "server": "nodemon ./bin/www" } ``` --- #### concurrentlyも入れる - expressとreactを同時に立ち上げないといけない。 - client側のpackage.jsonにproxyを設定する。 ```javascript= + "proxy": "http://localhost:3001" ``` - server側scripts変更 ```javascript= "dev": "concurrently \"npm run server\" \"npm run client\" " ``` --- <br/> ### 詰まったポイント② cotoha API叩けへんのやけど問題 <br/> --- <br/> - headerどこに書くん、そもそもaccess tokenとかどうやってかくん?🤔 <br/> --- #### CLIでcotoha APIを叩く ``` curl -X POST -H "Content-Type:application/json;charset=UTF-8" -H "Authorization:Bearer [accessToken]" -d '{"sentence":"月が綺麗ですねって話し"}' "https://api.ce-cotoha.com /api/dev/nlp/v1/sentiment" ``` --- #### expressのPOSTで ```javascript= const headers = { 'Content-Type': 'application/json;charset=UTF-8', 'Authorization': 'Bearer [accessToken]' }; const dataString = '{"sentence":"月が綺麗ですねって話"}'; ``` 僕はoptionsを作り、そこにbaseURLやmethodを定義しました。 --- <br/> ### 詰まったポイント③ そもそもexpressの書き方わからん <br/> --- <br/> 修行しました ※ CRUD Appとか作ると良きと思いました。 <br/> --- #### 忘れがち... - POSTパラメータを受け取るのに`body-parser`を使う。 #### postman - 便利なので絶対使おうな! ![](https://i.imgur.com/huehzm3.png) --- <br/> ### 詰まったポイント④ client側のデータをサーバーに送る → axios使う. <br/> --- #### axiosとは javascriptでサーバーと通信したいときに使うライブラリ ```javascript= axios.get([url]) axios.post([url], [data]) ``` `GET/POST/PUT/DELETE`等のリクエストできる。 結果がPromiseで返ってくる --- <br/> ### 詰まったポイント 番外編 最初、Next.JSでやろうとしたけど、失敗。 <br/> --- <br/> ### やりたかったこと - redux-logger使ってみたかった - firestore以外でDB構築して使いたかった。 - deployできてない... <br/> --- <br/> ### まとめ - express使うとサーバーサイドのことちょっとわかる - 使ったことないライブラリを使うのは楽しい - 環境構築からやると、フレームワークのありがたみが凄い <br/> --- <br/> コロナ気をつけましょう....🥺 **FIN** <br/> ---
{"metaMigratedAt":"2023-06-15T05:02:22.251Z","metaMigratedFrom":"YAML","title":"COTOHA APIを<br/>使ってみた。","breaks":true,"slideOptions":"{\"transition\":\"slide\"}","contributors":"[{\"id\":\"e0601e09-9cc1-48a1-9057-c084a8d6c766\",\"add\":3578,\"del\":1065}]"}
    274 views