GDrive 内のすべてのフォルダーのいくつかのプロパティを取得し、これらのプロパティをスプレッドシートに書き込みたいと考えています。フォルダーの数が多い (300 以上) ため、ページングとバッチ処理を使用することにしました。これは機能しているようですが、バッチ処理で作成した Array[][] をスプレッドシートに書き込めないようです。
スプレッドシートに値を設定しようとすると、次のエラーが発生します。
(クラス)@3cc8188e を Object[][] に変換できません。
私の問題に類似したリストされた質問が見つかりませんでした。
エラーが表示されると、スクリプトの最後の行が強調表示されます。コードは次のとおりです。
function myFunction() {
var folder = DocsList.getFolder('MyFolder');
var subfolders = null;
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
var cell = sheet.getRange('a1');
var x = 0;
var pageSize = 250;
var token = null;
var xfolders = new Array(500);
do {
var resultset = folder.getFoldersForPaging(pageSize, token);
subfolders = resultset.getFolders();
token = resultset.getToken();
x = subfolders.length;
for (var a = 0; a < subfolders.length; a++) {
var contents = subfolders[a].getFiles();
xfolders[a] = new Array(6);
if(contents.length>0) {
xfolders[a][0] = subfolders[a].getName();
xfolders[a][1] = subfolders[a].getDateCreated();
xfolders[a][2] = subfolders[a].getLastUpdated();
xfolders[a][3] = contents.length;
xfolders[a][4] = subfolders[a].getSize();
xfolders[a][5] = a;
}
}
} while (subfolders.length > pageSize)
sheet.getRange(1, 1, x, 6).setValues(xfolders); }