Webお問い合わせフォームから、kintoneへAPIを使ってデータ登録

背景・実現したいこと

1_表題の通りにwebお問い合わせフォームからjavascritpを利用して、

REST API POST でお問い合わせ内容をフォームに登録したいと考えております。

 

試したこと

https://developer.cybozu.io/hc/ja/articles/202166160#step1

の記事を拝見し実装しましたが、うまく言っておりません。

 

当方素人のため投稿が適切かどうか不明ではありますが、

ご指摘をいただければ幸いです。

 

エラー情報

ブラウザの開発者ツールのコンソールから下記エラーが出ています。

Uncaught ReferenceError: kintone is not defined

 

利用したソースコード

const body = {
        'app': 4,
        'record': {
          '氏名': {
            'value': 'ABC'
          }
        },
        // CSRF TOKEN: kintone上からAPI(POST, PUT, DELETE)を実行する場合に設定する必要あり
        ' __REQUEST_TOKEN__': kintone.getRequestToken()
      };
      
    const url = 'https://サブドメイン.cybozu.com/k/v1/record.json';
      const xhr = new XMLHttpRequest();
      xhr.open('POST', url);
      xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
      xhr.setRequestHeader('Content-Type', 'application/json');
      xhr.onload = () => {
        if (xhr.status === 200) {
          // success
          console.log(JSON.parse(xhr.responseText));
        } else {
          // error
          console.log(JSON.parse(xhr.responseText));
        }
      };
      xhr.send(JSON.stringify(body));

https://qiita.com/RyBB/items/648388cbcf296d5e1371

クロスドメインの制約により、他のサイトを開いているブラウザから直接kintoneのREST APIを利用することはできません
(サーバー経由などにする必要があります)
※これはkintone固有というか一般的なセキュリティ設定です。

村濱一樹 様

 

ありがとうございます。大変参考になりました。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。