Feature / Concept | SharePoint | OneDrive |
---|---|---|
File Storage Model | Organization → Sites → Drives → Folders → Files | Drive → Folders → Files |
Site Abstraction | Required. Files are grouped under named SharePoint sites | Not applicable. One flat drive per user |
Drives per Site | One or more drives per site (typically document libraries) | Single drive per user |
Multi-Site Support | Yes. StackOne iterates all accessible sites and drives | Not applicable |
Graph API Root Endpoint | /sites/{site-id}/drives/{drive-id} | /me/drive or /users/{user-id}/drive |
File Discovery in Picker | Site selection (custom) → Native SharePoint picker for drive/folder browsing | Direct native picker for user’s OneDrive content |
Pages Support | SharePoint Pages (e.g. .aspx ) are excluded from file API responses | N/A |
File List API Behavior | StackOne aggregates and returns all files from all sites/drives in a unified list via /files | StackOne returns files from the user’s OneDrive drive via /files |
Underlying Picker UI | Native SharePoint file picker (after custom site selection) | Native OneDrive file picker |
Object Type | StackOne Model Notes |
---|---|
File | Includes id , name , path , mime_type , size , modified_at , download_url , source |
Folder | Includes id , name , path , parent_id , and owner_id if browsing recursively |
Drive | Mapped directly from Graph API; grouped under sites for SharePoint |
Site (SharePoint only) | Populated via Graph API, shown to users as custom selector before native picker |
Operation | SharePoint | OneDrive |
---|---|---|
Discover sites | GET /sites?search=* or GET /sites/{tenant}.sharepoint.com/sites | N/A |
List drives in a site | GET /sites/{site-id}/drives | N/A (one drive per user) |
List root folder contents | GET /sites/{site-id}/drives/{drive-id}/root/children | GET /me/drive/root/children |
Get file metadata | GET /sites/{site-id}/drives/{drive-id}/items/{item-id} | GET /me/drive/items/{item-id} |
Download file | GET /sites/{site-id}/drives/{drive-id}/items/{item-id}/content | GET /me/drive/items/{item-id}/content |
StackOne file listing | Aggregated from all sites/drives into one list | Pulled from user’s root drive |
Files.Read
, Files.Read.All
Sites.Read.All
(SharePoint only)@odata.nextLink
Area | SharePoint | OneDrive |
---|---|---|
Picker UX | Native SharePoint picker with custom site step | Native OneDrive picker |
Scoping Model | Site → Drive → Folder → File | Drive → Folder → File |
File List API | Aggregated across all sites | Scoped to single personal/business drive |
API Surface | Microsoft Graph | Microsoft Graph |
StackOne File Object Output | Unified format | Unified format |