fbpx
「給与DXのエムザス」 給与とシステム両方を本業に約20年

kintoneのレコードを取得し、Googleスプレッドシートにコピーする方法

公開日:2025.05.12
最終更新日:2025.05.12

こんにちは!

業務でkintoneを使っていると、「データをGoogleスプレッドシートに出力したい」と思う場面があります。たとえば、集計やグラフ作成をGoogleスプレッドシートで行いたい場合などが典型的です。本記事では、kintoneアプリにボタンを設置し、ボタンクリックでkintoneのレコードを取得し、Googleスプレッドシートに自動でコピーする方法をご紹介します。

お知らせ①

🌟無料&登録不要でプラグインのお試しが可能!🌟

kintoneユーザーの皆さん!

エムザスのkintoneプラグインはもう試しましたか?🤔
エムザスでは以下のようなプラグインを開発しています!👇

EMログ - 標準の監査ログでは取得できないアプリの操作ログを取得できるプラグイン
EMログのプラグイン画像
EMレポ - レコードの内容をPDF / Excelに出力できるプラグイン
EMレポのプラグイン画像
EMsheet - kintoneのレコードをExcelのように表示して編集できるプラグイン
EMsheetのプラグイン画像
EMdocMaker - アプリの関連図や定義書を出力し、アプリの分析ができるプラグイン
EMdocMakerのプラグイン画像
       
EMログ - 標準の監査ログでは取得できないアプリの操作ログを取得できるプラグイン
EMログのプラグイン画像
   
EMレポ - レコードの内容をPDF / Excelに出力できるプラグイン
EMレポのプラグイン画像
 
 

 

デモ環境で、ほとんどの機能が今すぐお試しいただけます✨

 

さらに、お客様のドメインで無料で3ヶ月間、すべての機能を試すこともできます!🎉

\たった1分で申し込み完了!/

それでは、本題に入ります!

kintoneにボタンを設置する

まずは、kintoneのカスタマイズビューやカスタマイズJSでボタンを追加します。以下のコードを例とします。

kintone.events.on('app.record.index.show', function(event) {
  if (document.getElementById('export-button')) return;

  const button = document.createElement('button');
  button.id = 'export-button';
  button.innerText = 'スプレッドシートへ出力';
  button.onclick = exportRecords;
  kintone.app.getHeaderMenuSpaceElement().appendChild(button);
});

レコードを取得する

ボタンがクリックされたときに、kintone REST APIを使ってレコードを取得します。以下のようにfetch APIでkintoneからレコードを取得できます。

function exportRecords() {
  const body = {
    app: kintone.app.getId(),
    query: 'limit 100'
  };

  kintone.api(kintone.api.url('/k/v1/records', true), 'GET', body, function(resp) {
    const records = resp.records;
    sendToGoogleSheet(records);
  });
}

Googleスプレッドシートにデータを書き込む

最後に、Google Apps Script(GAS)を使ってスプレッドシート側にAPIを作成しておき、kintoneからデータを送信します。GAS側のコードは以下の通りです。

function doPost(e) {
  const data = JSON.parse(e.postData.contents);
  const sheet = SpreadsheetApp.openById('スプレッドシートID').getSheetByName('シート名');
  
  data.forEach(function(record) {
    sheet.appendRow([record.フィールドコード1.value, record.フィールドコード2.value]);
  });

  return ContentService.createTextOutput('ok');
}
kintoneのsendToGoogleSheet関数内で、fetchを使ってPOSTリクエストを送信します。
function sendToGoogleSheet(records) {
  fetch('https://script.google.com/macros/s/デプロイURL/exec', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify(records)
  });
}

おわりに

今回ご紹介した方法を使えば、ワンクリックでkintoneのデータをGoogleスプレッドシートにコピーすることが可能です。業務の効率化やデータ活用の幅を広げるきっかけにしていただければ幸いです。今後は自動実行やフィルタ処理など、さらに高度な連携も目指せますので、ぜひ試してみてください。