使用 $expand 生成 400 个错误请求的 Sharepoint 在线休息查询

Sharepoint Online Rest Query with $expand generating 400 bad request

我设置了 2 个共享点列表来表示不同的组(圆圈)和属于这些组(圆圈)的用户。

List: Circles Columns: Circle(single line of text)

List: UserCircles Columns: UserName(person lookup), UserCirlce(lookup to Circle list)

在设置中,所有列都是它们自己的列(我没有将标题列重命名为 Circle 或类似名称)。我没有更改列表的显示名称。

当我尝试 运行 针对 UserCircles 列表的 REST GET 并从 Circles 列表中检索预计值时,如下所示:

/_api/web/lists/getbytitle('UserCircles')/items?$select=Circles/Circle&$expand=Circles

我收到 HTTP 400 错误和消息: 字段或属性 'Circles'不存在

我可以通过运行以下查询成功运行查询用户名字段(我假设这是引用的字段):

/_api/web/lists/getbytitle('UserCircles')/items?$select=Author/Title&$expand=Author

我不确定为什么查询找不到指定的列表。我已经验证了所有列表名称。任何指导将不胜感激。

您的示例中有一个拼写错误,因为查找字段的名称是 UserCirlce,查询应该是这样的:

/_api/web/lists/getbytitle('UserCircles')/items?$select=UserCirlce/Circle&$expand=UserCirlce

Note: the name of lookup field have to be specified in $expand query option

$expand 查询选项的语法示例列表:

  • /_api/web/lists/getbytitle('<listtitle>')/items?$select=<lookupfieldname>/<projectedfieldname>&$expand=<lookupfieldname>
  • /_api/web/lists/getbytitle('<listtitle>')/items?$select=<lookupfieldname>/<projectedfieldname1>,<lookupfieldname>/<projectedfieldname2>&$expand=<lookupfieldname>