For the error you get when running the command set-mailboxfolderpermission, that's because there is no existing permission entry found for user.
You could firstly check the permission for this:
Get-MailboxFolderPermission -Identity "email@example.com:\Calendar" | ft Identity,FolderName,User,AccessRights
If no result found, the solution is to use the Add-MailboxFolderPermission cmdlet when there are no access rights in place for that user.
Add-MailboxFolderPermission -Identity "firstname.lastname@example.org:\Calendar" -User "email@example.com" -AccessRights Editor
Here is an article introduces this error: Set-MailboxFolderPermission – There is no existing permission entry found for user
Please Note: Since the web site is not hosted by Microsoft, the link may change without notice. Microsoft does not guarantee the accuracy of this information.
In addition, for sharing in o365, we could refer to the official document which lists different scenarios: Sharing in Exchange Online
If an Answer is helpful, please click "Accept Answer" and upvote it.
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.