如何通过SharePoint Rest API在Quick Launch指定节点下方添加非子级NavigationNode
当然可以!完全不需要把新节点设为指定节点的子级,只要通过REST API定位到Quick Launch的导航集合,精准控制新节点的位置参数,就能在目标节点的同级下方插入新节点,核心是利用节点的排序属性来实现。
具体操作步骤:
先获取目标节点的关键信息
首先得拿到Quick Launch里指定节点的Id和Sequence(排序序号)。如果知道节点ID,直接调用:GET _api/web/navigation/quicklaunch/GetById(目标节点ID)要是不知道ID,也可以通过标题过滤查找:
GET _api/web/navigation/quicklaunch?$filter=Title eq '目标节点的标题'提交请求插入同级新节点
向Quick Launch的导航集合发送POST请求,创建新节点时,把Sequence值设为目标节点的Sequence + 1,同时不要设置ParentId(或者设为0,即根级),这样新节点就会成为目标节点的同级,且刚好排在它下方。请求示例:POST _api/web/navigation/quicklaunch Content-Type: application/json;odata=verbose { "__metadata": { "type": "SP.NavigationNode" }, "Title": "你的新节点标题", "Url": "/sites/你的站点路径/目标页面", "Sequence": 目标节点的Sequence值 + 1, "IsExternal": false }
几个关键提醒:
- 绝对不要给新节点设置
ParentId为目标节点的ID,否则它会变成子节点,这正是你要避免的。 Sequence值决定了节点的排序位置,只要确保新节点的序号是目标节点的下一个,就能精准放在它正下方。- 操作前确认自己有站点的编辑权限,不然会触发权限不足的错误。
内容的提问来源于stack exchange,提问作者Suny Abraham
相关产品推荐
相关产品推荐

