0

In SharePoint Online does we have the option to use the REST API to set top navigation to inherit from the parent site?

I know it can be done manually. I also know it can be done by setting web.Navigation.UseShared = true; however I need to be able to invoke the change from a 2013 workflow.

2 Answers 2

0

Looking at this question, I would try adapting that code to see if Navigation.UseShared is in there somewhere, e.g.:

Endpoint Url:  [web url]/api/web
Method: POST 
Headers:
    "X-HTTP-Method":"MERGE"
    "If-Match":"*"
Data: {
    "Navigation":{
        "UseShared": true
    },
    "__metadata":{"type":"SP.Web"}
}

I don't know if this will work, but some experimentation might get you there.

0
0

I reverse engineered the old JSOM and captured the request it sends to SharePoint. You need to create a post to the site in question and set a few headers.

Set the Uri to: _vti_bin/client.svc/ProcessQuery

The headers are:

content-type:text/xml

x-requested-with:XMLHttpRequest

And the body looks like this:

<Request xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009" SchemaVersion="15.0.0.0" LibraryVersion="16.0.0.0" ApplicationName="Javascript Library"><Actions><ObjectPath Id="1" ObjectPathId="0" /><ObjectPath Id="3" ObjectPathId="2" /><ObjectPath Id="5" ObjectPathId="4" /><SetProperty Id="6" ObjectPathId="4" Name="UseShared"><Parameter Type="Boolean">true</Parameter></SetProperty></Actions><ObjectPaths><StaticProperty Id="0" TypeId="{3747adcd-a3c3-41b9-bfab-4a64dd2f1e0a}" Name="Current" /><Property Id="2" ParentId="0" Name="Web" /><Property Id="4" ParentId="2" Name="Navigation" /></ObjectPaths></Request>

Screenshot from Flow/PowerAutomate

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.