Python使用Shareplum三条件查询SharePoint列表报500错误如何解决?
- 核心原因
你当前的三条件查询写法不符合Shareplum的语法规则,其底层对应的SharePoint CAML查询中,<And>操作符每次仅支持拼接两个条件,超过两个条件必须使用嵌套的And结构,无法直接将三个条件放入同一个And数组下,这是新增RaceDate条件后触发500错误的根本原因,并非Shareplum不支持多条件查询。 - 正确写法
fields = ['ID', 'Title', 'RaceDate', 'RaceNumber'] query = {'Where': ['And', ('Eq', 'Title', location), ['And', ('Eq', 'RaceDate', current_date), ('Eq', 'RaceNumber', raceNumber) ] ]} sp_raceChecklist_query = sp_raceChecklist.GetListItems(fields=fields, query=query)
- 注意事项
RaceDate为日期类型字段,传入的current_date需要转为符合SharePoint要求的ISO 8601格式字符串(如2024-05-20),不可直接传入Python原生datetime对象,否则也可能触发服务端500错误。
内容的提问来源于stack exchange,提问作者MdM
相关产品推荐
相关产品推荐

