This might look similar to this post, but has some unique aspects:
When I make an Api call to graph.microsoft.com/beta/users{user-id}/onenote/pages?top=5 to fetch onenote pages, I get the error "The OneDriveForBusiness for this user account cannot be retrieved"
I do have onenote files in my business-onedrive. When I use that url in the Graph Explorer to read my recent notes, I get a normal result. If I call the api from a php-file (my "APP" which i've registered in O365)and use the same URL/endpoint (with a valid Bearer token), I get the error "The OneDriveForBusiness for this user account cannot be retrieved". In azure, I've granted all permissions to the app.
The weird thing is: my app does work for 5 minutes when I first use the graph explorer and then afterwards run my app. It somehow must be an authorization issue, but what can it be?!