前回、以下の記事で、スプレッドシートからkintoneにデータを登録する方法について書きました。
今回は、その逆で、kintoneにあるデータをスプレッドシートに取得する方法を紹介します。
使用するkintoneのデータ
使用するkintoneのアプリは前回と同じものです。
データは以下のような状態になっています。
スプレッドシートを準備する
kintoneアプリの項目に合うように、スプレッドシートを以下のようにします。
kintoneからデータを取得する処理をGASで記述します。
GASでkintoneからデータを取得する
GASを使用して、kintoneからデータを取得するコードは以下のようになります。
function getRecords() {
var urlGetRecords = "[ここにkintoneのURLを入れる]/k/v1/records.json";
var appId = [ここにアプリIDを入れる];
var apiToken = '[ここにAPIトークンを入れる]';
// kintoneからデータを取得
var paramFields = "&fields=$id," + encodeURIComponent("日時,お名前,メールアドレス,件名,内容");
var url = urlGetRecords + "?app=" + appId + paramFields;
var res = JSON.parse(UrlFetchApp.fetch(url, {"method": "get","headers": {"X-Cybozu-API-Token": apiToken}}));
// 取得したデータを整形
var output = [];
res["records"].forEach(function(record){
var row = [];
row.push(Utilities.formatDate(new Date(record["日時"].value), 'JST', 'yyyy/M/d HH:mm'));
row.push(record["お名前"].value);
row.push(record["メールアドレス"].value);
row.push(record["件名"].value);
row.push(record["内容"].value);
output.push(row);
});
// スプレッドシートに出力
var sheetOutput = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('問い合わせ一覧');
sheetOutput.getRange(2, 1, output.length, output[0].length).setValues(output);
}
2行目はkintoneのAPIを呼び出すためのURLなので、自身のkintoneのURLを記述します。
3、4行目はアプリIDとAPIトークンです。
値の取得については前回の記事をご覧ください。
https://specially198.com/register-zoho-forms-data-in-kintone-in-conjunction-with-a-spreadsheet/#toc_id_2
7行目で取得する項目を定義します。
日本語の項目名はエンコードする必要があるので、encodeURIComponent関数をかましています。
9行目で実際にkintoneのAPIを呼び出して、データを取得します。
13行目からが取得したデータを整形して、スプレッドシートに出力する形式にします。
それぞれの項目を取り出して、配列に入れ替えています。
日時はデフォルトがUTCの形式なので、フォーマットを行っています。
27行目でスプレッドシートに出力します。
以上のコードを実行すると、取得した結果はスプレッドシートに以下のように出力されます。
コメント
こちらのページを参考とさせていただいて、kintoneのデータをスプレッドシートへ取得しようと試みているのですが、レコードが100件までしか取り込めずにいます。
500件を超えるデータではないのですが、GASのコードでどうにかできるのでしょうか。。
ご教示可能でしたら、ぜひお願いいたします。
別途、記事は更新しようと思いますが、下記のやり方で100件を超える場合にも対応できます。
https://developer.cybozu.io/hc/ja/articles/360030757312-offset-%E3%81%AE%E5%88%B6%E9%99%90%E5%80%A4%E3%82%92%E8%80%83%E6%85%AE%E3%81%97%E3%81%9F-kintone-%E3%81%AE%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%89%E4%B8%80%E6%8B%AC%E5%8F%96%E5%BE%97%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6