Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ODP: /delta or /children API Call no longer sending Shared Folder JSON data post account change to 'sea8cc6beffdb43d7976fbc7da445c639' #1891

Open
1 of 3 tasks
abraunegg opened this issue Mar 1, 2025 · 5 comments

Comments

@abraunegg
Copy link

abraunegg commented Mar 1, 2025

Category

  • Question
  • Documentation issue
  • Bug

Expected or Desired Behavior

@ificator , @patrick-rodgers , @rgregg-msft

As of this morning (2nd March 2025 AEST) the /delta or /children API call is no longer sending Shared Folder JSON data.

This is DESPITE the AddToOneDrive header being set.

This change has been noticed since my OneDrive Personal Accounts have been changed to this new 'sea8cc6beffdb43d7976fbc7da445c639' account type.

Yesterday, BEFORE the account change to 'sea8cc6beffdb43d7976fbc7da445c639' .. no 'header' was needed to receive the JSON data regarding Shared Folders for OneDrive Personal Accounts.

Observed Behavior

@ificator , @patrick-rodgers , @rgregg-msft

1st March 2025 AEST

DEBUG: ------------------------------------------------------------------
DEBUG: selectedDriveId:   66d53be8a5056eca
DEBUG: selectedItemId:    66D53BE8A5056ECA!101
DEBUG: providedDeltaLink: 
DEBUG: ------------------------------------------------------------------
DEBUG: Request URL = https://graph.microsoft.com/v1.0/drives/66d53be8a5056eca/items/66D53BE8A5056ECA!101/delta?select=id,name,eTag,cTag,deleted,file,folder,root,fileSystemInfo,remoteItem,parentReference,size,createdBy,lastModifiedBy
DEBUG: Existing Microsoft OneDrive Access Token Expires: 2025-Mar-01 19:35:37.1330624
DEBUG: Setting currentDeltaLink to @odata.nextLink: https://graph.microsoft.com/v1.0/drives/66d53be8a5056eca/items/66D53BE8A5056ECA!101/delta?select=id%2cname%2ceTag%2ccTag%2cdeleted%2cfile%2cfolder%2croot%2cfileSystemInfo%2cremoteItem%2cparentReference%2csize%2ccreatedBy%2clastModifiedBy&token=REDACTED
DEBUG: ------------------------------- jsonArrayToProcess - response bundle 1 -----------------------------------
DEBUG: <REMOVED>
DEBUG: -----------------------------------------------------------------------------------------------------------
DEBUG: ------------------------------------------------------------------
DEBUG: Processing OneDrive Item 1 of 41 from API Response Bundle 1

2nd March 2025 AEST

DEBUG: ------------------------------------------------------------------
DEBUG: selectedDriveId:   66D53BE8A5056ECA
DEBUG: selectedItemId:    66D53BE8A5056ECA!sea8cc6beffdb43d7976fbc7da445c639
DEBUG: providedDeltaLink: 
DEBUG: ------------------------------------------------------------------
DEBUG: url = https://graph.microsoft.com/v1.0/drives/66D53BE8A5056ECA/items/66D53BE8A5056ECA!sea8cc6beffdb43d7976fbc7da445c639/delta?select=id,name,eTag,cTag,deleted,file,folder,root,fileSystemInfo,remoteItem,parentReference,size,createdBy,lastModifiedBy
DEBUG: request headers = ["Prefer":"Include-Feature=AddToOneDrive"]
DEBUG: Request URL = https://graph.microsoft.com/v1.0/drives/66D53BE8A5056ECA/items/66D53BE8A5056ECA!sea8cc6beffdb43d7976fbc7da445c639/delta?select=id,name,eTag,cTag,deleted,file,folder,root,fileSystemInfo,remoteItem,parentReference,size,createdBy,lastModifiedBy
DEBUG: Existing Microsoft OneDrive Access Token Expires: 2025-Mar-02 07:49:13.6763506
DEBUG: Setting currentDeltaLink to (@odata.deltaLink): https://graph.microsoft.com/v1.0/drives/66D53BE8A5056ECA/items/66D53BE8A5056ECA!sea8cc6beffdb43d7976fbc7da445c639/delta?select=id%2cname%2ceTag%2ccTag%2cdeleted%2cfile%2cfolder%2croot%2cfileSystemInfo%2cremoteItem%2cparentReference%2csize%2ccreatedBy%2clastModifiedBy&token=REDACTED
DEBUG: Validating that the provided OneDrive Personal 'driveId' value '66D53BE8A5056ECA' is 16 characters
DEBUG: ------------------------------- jsonArrayToProcess - response bundle 1 -----------------------------------
DEBUG: <REMOVED>
DEBUG: -----------------------------------------------------------------------------------------------------------
DEBUG: ------------------------------------------------------------------
DEBUG: Processing OneDrive Item 1 of 37 from API Response Bundle 1

The JSON response from the API is different by 4 elements, essentially the Shared Folder JSON elements.

JSON Response Changes Comparison

Zero data for example in the JSON response this morning for the '3A' Shared Folder and this is validated when doing a side-by-side JSON comparison:

Image

OneDrive Personal Online State

Image

Steps to Reproduce

@ificator , @patrick-rodgers , @rgregg-msft

Unknown steps to reproduce.

I have DETAILED JSON API logs I can provide. Please contact me offline for me to provide these to you.

[ ]: http://aka.ms/onedrive-api-issues
[x]: http://aka.ms/onedrive-api-issues

@abraunegg
Copy link
Author

abraunegg commented Mar 1, 2025

@ificator , @patrick-rodgers , @rgregg-msft

Even when using Microsoft Graph Explorer, the Shared Folders are no longer being generated / sent when querying the /delta API post account change to '66D53BE8A5056ECA!sea8cc6beffdb43d7976fbc7da445c639'

Image

Online Shared Folder Can be accessed:
Image

Online Shared Folder data is NOT sent in /delta response:

Image

Can you please provide some insight as to why /delta response is no longer sending Shared Folder JSON data when the account undergoes this 'account migration' that is being performed?

The expectation here is that API response consistency occurs.

@abraunegg abraunegg changed the title CRITICAL BUG ODP: /delta API Call no longer sending Shared Folder JSON data DESPITE ["Prefer":"Include-Feature=AddToOneDrive"] header being set CRITICAL BUG ODP: /delta API Call no longer sending Shared Folder JSON data post account change to 'sea8cc6beffdb43d7976fbc7da445c639' Mar 1, 2025
@abraunegg abraunegg changed the title CRITICAL BUG ODP: /delta API Call no longer sending Shared Folder JSON data post account change to 'sea8cc6beffdb43d7976fbc7da445c639' CRITICAL BUG ODP: /delta or /children API Call no longer sending Shared Folder JSON data post account change to 'sea8cc6beffdb43d7976fbc7da445c639' Mar 1, 2025
@abraunegg
Copy link
Author

@ificator , @patrick-rodgers , @rgregg-msft

Even the /children API call is ALSO broken:

Image

@patrick-rodgers patrick-rodgers changed the title CRITICAL BUG ODP: /delta or /children API Call no longer sending Shared Folder JSON data post account change to 'sea8cc6beffdb43d7976fbc7da445c639' ODP: /delta or /children API Call no longer sending Shared Folder JSON data post account change to 'sea8cc6beffdb43d7976fbc7da445c639' Mar 3, 2025
@abraunegg
Copy link
Author

@patrick-rodgers
Please can you explain why this is not a critical bug?

@abraunegg
Copy link
Author

@chackman , @rgregg-msft, @rgregg@ificator, @patrick-rodgers
Please can you respond - what is Microsoft doing regarding this issue?

@abraunegg
Copy link
Author

To those watching | impacted by this bug(s) that run the OneDrive Client for Linux (https://github.com/abraunegg/onedrive)

A potential working fix to workaround this API bug has been developed.

Please read abraunegg/onedrive#3115 for details and how to build the PR to potentially get you back into a working state.

abraunegg added a commit to abraunegg/onedrive that referenced this issue Mar 9, 2025
…ponse data for a OneDrive Personal Shared Folder (#3116)

* Remove 'sea8cc6beffdb43d7976fbc7da445c639' check
* Add further personal account driveId length checks when generating a /delta response for a Shared Folder
* Fix selectRemoteTypeByRemoteDriveId() function to also use the remote item id so that the correct DB record is responded with. This ensures that 'localPathExtension =' reflects the correct local path extension and not some other incorrect local path
* If the 'shared' JSON structure is missing, add a debug message
* Add further checks for invalid 15 character driveId when creating Shared Folder references
* Ensure that the 'driveId' value is correctly fetched and used due to 'UPPERCASE' and 'lowercase' values in API JSON response
* Increase DB version to ensure all old records in the DB are purged
* Sanitise JSON output for debug logging when enabled
* Simplify isValidUTF8Timestamp()
* Debug logging is not correct - missing all single --verbose entries which should be also included when performing a debug capture.
* Based on application debug logs, if /delta fails to send Shared Folders, and the client goes to create these online, we know that these then exist online and are a Shared Folder. Handle in a similar manner to OneDrive Business Shared Folders logic to create the required database tie records if the API fails to send that data originally.
* Remove double call to selectiveSync.isFileNameExcluded
* Align invalid UTF-8 message to be consistent with other UTF-8 failure messages

This PR specifically works around the Microsoft OneDrive change:
* Microsoft moving all OneDrive Personal Accounts to a new backend platform. This is the 'sea8cc6beffdb43d7976fbc7da445c639' change: OneDrive/onedrive-api-docs#1890
* Microsoft failing to provide the Graph API data in the /delta call for accounts moved to the new backend platform: OneDrive/onedrive-api-docs#1891
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant