KINTONEとGoogleスプレッドシートのGASを使用した連携について
初めてでまた初心者です。
ご教授いただきますようよろしくお願い致します。
KINTONEとGoogleスプレッドシートをGASで連携させたいです。また連携の際にはベージック認証も用いています。例として1000件のレコードを取得したいと思っています。
しかし、実行すると、後ろから100件のレコードが繰り返し10回表示されるだけで、すべてのレコードを表示できません。
function fetchKintoneData() {
var domain = '*****'; // Kintoneのドメイン名
var appID = ; // KintoneのアプリID
var limit = 100; // 1回のリクエストで取得するレコード数
var totalRecords = 1000; // レコードの総数(例として1,000件とします)
var offset = 0; // レコード取得のオフセット
var username = ''; // ベーシック認証のユーザー名
var password = '***'; // ベーシック認証のパスワード
// 全てのレコードを取得するまでループ処理を行う
let countN =2;
while (offset < totalRecords) {
var url = 'https://' + domain + '.cybozu.com/k/v1/records.json?app=' + appID; + ' & offset=' + offset + ' & limit=' + limit;
var headers = {
'X-Cybozu-API-Token': '********************', // KintoneのAPIトークン
'Authorization': 'Basic ' + Utilities.base64Encode(username + ':' + password), // ベーシック認証のユーザー名とパスワード
};
var options = {
method: 'GET',
headers: headers,
limit:100
};
var response = UrlFetchApp.fetch(url, options);
var responseData = JSON.parse(response.getContentText());
// 取得したレコードの処理
for (var i = 0; i < responseData.records.length; i++) {
var record = responseData.records[i];
// レコードのデータを利用して任意の処理を行う
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('*****');
sheet.getRange(countN+i, 1).setValue(record.年.value);
sheet.getRange(countN+i, 2).setValue(record.月.value);
sheet.getRange(countN+i, 3).setValue(record.項目.value);
sheet.getRange(countN+i, 4).setValue(record.値.value);
console.log(countN+i);
}
// 次のオフセットを計算
offset += limit;
countN += 100;
}
console.log(countN);
console.log(offset);
}
初めての投稿なので表示もおかしいかも・・・