ajaxやfetch、axiosなどでAPI接続するための方法をリクルートのA3RTで試しました。
getなら比較的簡単に取得できますが、post指定の場合はちょっと難易度が上がります。参考にしてください。
今回はリクルート A3RTのTalk APIを取得します。ここで提供するAPIはpostを使う必要があります。
A3RTのTalk APIは人工知能と雑談をするためのAPIです。
リクルート A3RTからAPI KEYの取得を済ませておきます。
どの記述もモダンなJavaScriptで書かれています。
jQueryのajaxを使う方法
事前にjQueryを読み込んでおきます。
<script src='https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js'></script>
JavaScriptコード
$.ajax({ url: "https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk", type: 'POST', data: { apikey: '取得したAPIキー', query: 'おはよう' } }).then(data => { console.log(data.results[0]['reply']), error => alert('エラー') })
fetchを使う場合
JavaScriptコード
let formdata = new FormData(); formdata.append('apikey','取得したAPIキー'); formdata.append('query','おはよう'); fetch('https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk',{ method: 'post', body: formdata }).then(response => { response.json().then(data => { console.log(data.results[0].reply); }) }).catch(error => console.log(error));
axiosについて
axiosはブラウザや「node.js」で動く「Promise」ベースの「HTTPクライアント」です。
具体的にはReactやVue.jsなどでも併用される場合が多いようです。
Reactページの 「AJAX and APIs」(ここでの例はfetchを使用しています)
axios公式ページ:Promise based HTTP client for the browser and node.js
axiosを使う例
事前にaxiosを読み込んでおきます。
<script src="https://cdn.jsdelivr.net/npm/axios@0.18.0/dist/axios.min.js"></script>
JavaScriptコード
let params = new FormData(); params.append("apikey","取得したAPIキー"); params.append("query","おはよう" ); axios.post('https://api.a3rt.recruit-tech.co.jp/talk/v1/smalltalk',params) .then(response =>{ console.log(response.data.results[0].reply); }).catch(error => { console.log(error); });