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);
});

