【问题标题】:Sharepoint Online Rest Query with $expand generating 400 bad request使用 $expand 生成 400 错误请求的 Sharepoint 在线休息查询
【发布时间】:2015-04-16 18:00:17
【问题描述】:

我设置了 2 个共享点列表来代表不同的组(圈子)以及这些组(圈子)之外的用户。

列表:圆圈:圆圈(单行文本)

列表:UserCircles :UserName(人物查找)、UserCircle(查找圈子列表)

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

当我尝试对 UserCircles 列表运行 REST GET 并从以下 Circles 列表中检索投影值时:

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

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

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

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

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

【问题讨论】:

    标签: rest sharepoint


    【解决方案1】:

    你的例子中有一个错字,因为查找字段的名称是UserCirlce,所以查询应该是这样的:

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

    注意:查找字段的名称必须在$expand查询中指定 选项

    $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>

    【讨论】:

    • 就是这样!感谢@vadim 您列出的两个示例。最终起作用的查询是 /_api/web/lists/getbytitle('UserCircles')/items?$select=CircleName/Circle&$expand=CircleName 我的理解是语法如下: $select=/ &expand=
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 1970-01-01
    • 2020-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多