我正在查看保存在我的OneDrive for Business帐户上的Excel帐簿中的一个表(Table1
)。然后,我想从该表中获取CREATEDDATE
列中的最大值。
我希望避免使用API拉下整个表,所以我尝试将查询结果过滤到CREATEDDATE
列。但是,表中的列结果没有被过滤到一列,我也没有得到一个错误来帮助解决问题。我得到的只是一个HTTP 200
响应和完整的未过滤的表结果。
是否可以按列名过滤从API检索到的列?documentation让我这么认为。
我已经确认/columns?$select=name
工作正常,并且只返回name字段,所以我知道它将其识别为一个实体。当从响应中引用任何实体(name
、id
、index
、values
)时,$filter
和$orderby
不执行任何操作。我知道可以按位置限制列,但我更愿意按名称显式引用列,以防顺序改变。
我使用这个查询:
/v1.0/me/drive/items/{ID}/workbook/tables/Table1/columns?$filter=name eq 'CREATEDDATE'`
发布于 2019-06-13 04:00:51
您不需要在这里使用$filter
,只需直接按名称拉取即可。Get TableColumn文档中的原型是:
GET /workbook/tables/{id|name}/columns/{id|name}
GET /workbook/worksheets/{id|name}/tables/{id|name}/columns/{id|name}
因此,在您的示例中,您应该能够简单地调用call:
/v1.0/me/drive/items/{ID}//workbook/tables/Table1/columns/CREATEDDATE
https://stackoverflow.com/questions/56549268
复制相似问题