如何使用 google 工作表 api 获取筛选电子表格的值?

How to get value of filtered spreadsheets using google sheets api?

我需要根据用户关键字显示来自 sheet 的数据。 我尝试使用 setBasicFilter 来过滤数据。

这里是请求体的例子。

$query = [
        'requests' => [
            [
                'setBasicFilter' => [
                    'filter' => [
                        'range' => [
                            'sheetId' => 0,
                            'startColumnIndex' => 0,
                            'endColumnIndex' => 14,
                            'startRowIndex' => 0
                        ],
                        'sortSpecs' => [
                            [
                                'dimensionIndex' => 0,
                                'sortOrder' => 'DESCENDING'
                            ],
                            [
                                'dimensionIndex' => 2,
                                'sortOrder' => 'ASCENDING'
                            ]
                        ],
                        'filterSpecs' => [
                            [
                                'columnIndex' => 2,
                                'filterCriteria' => [
                                    'condition' => [
                                        'type' => 'TEXT_CONTAINS',
                                        'values' => [
                                            [
                                                'userEnteredValue' => 'input'
                                            ]
                                        ]
                                    ]
                                ]
                            ]
                        ]
                    ]
                ]
            ]
        ]
    ];

但是,它仅更改传播 sheet 上的视图数据,并且仅响应 return 空。

你有解决这个问题的方法吗?

看到这个问题我得到了解决方案

您可以使用 foreach() 而不是使用 if() 来获取您需要过滤的数据。

示例:

foreach ($data['values'] as $key => $value) {
    
    if($value[2] === 'input') {

        // $key . $value
    }
}