Navigation
Manage the site navigation structure — top navigation bar, Quick Launch,
and hierarchical menu nodes.
Prerequisites
| Requirement |
Description |
Reference |
| Site Owner or Designer role |
Required to add, update, or delete navigation nodes. Read access for browsing. |
SharePoint permissions |
Getting started
from office365.sharepoint.client_context import ClientContext
ctx = ClientContext("https://contoso.sharepoint.com/sites/team").with_client_certificate(
"contoso.onmicrosoft.com", client_id="client_id", thumbprint="thumbprint", cert_path="./cert.pem"
)
# Read top navigation
nav = ctx.web.navigation.top_navigation_bar.get().execute_query()
for node in nav:
print(f" {node.title} → {node.url}")
# Read Quick Launch
ql = ctx.web.navigation.quick_launch.get().execute_query()
for node in ql:
print(f" {node.title} → {node.url}")
Read
Create
Copy
| What |
File |
Notes |
| Copy top navigation |
copy_navigation.py |
Rebuild a site's top nav from a source site (recursive, idempotent) |
Export
| What |
File |
Notes |
| Export to CSV |
export_to_csv.py |
Flat Quick Launch + top nav via get_all_nodes + to_records |
API reference