-
Notifications
You must be signed in to change notification settings - Fork 1
Closed
Description
概要
SheetTable.getData() の戻り値に、各行がスプレッドシート上で非表示(hidden)かどうかの情報を含めてほしい。
背景
スプレッドシート上で非表示にした行が getData() で返されるため、利用側で意図しないデータが混入する問題が発生した。
具体的には、同一URLに対して「削除フラグあり(非表示行)」と「削除フラグなし(表示行)」の2行が存在するケースで、非表示行のデータが先にマッチし、本来削除すべきでないファイルが削除される事象が起きた。
現状の動作
Sheet.getValues()はspreadsheets.values.getを使用しており、非表示行も含めて全行を返す- 利用側では非表示行かどうかを判別する手段がない
提案
SheetTable.getData() の戻り値の各行に、非表示状態のフラグを含める。
Google Sheets API の spreadsheets.get(includeGridData: true)で取得できる rowMetadata に hiddenByUser / hiddenByFilter プロパティがあり、これを利用すれば実現可能。Sheets クラスの既存メソッド getWithGridData() の仕組みを流用できる。
利用側の想定
const data = await table.getData();
for (const row of data) {
if (row._hidden) continue; // 非表示行をスキップ
// ...
}フラグの形式(_hidden: boolean / _hiddenByUser + _hiddenByFilter を分けるなど)はお任せします。
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels