Forum Discussion

fabbio-b's avatar
fabbio-b
Copper Contributor
Aug 19, 2020

ErrorFolderNotFound when trying to get Calendar data from Api

Dear all, thanks in advice for any help.

 

I'm using booking with success.

Now I've started using the booking api to do some integration with other services.

Calling 

  https://graph.microsoft.com/beta/bookingBusinesses/{BOOKING_ID}

from microsoft graph with a user part of my organizations i'm getting an error

{
"error": {
"code": "ErrorFolderNotFound",
"message": "The specified folder could not be found in the store.",
"innerError": {
"date": "2020-08-19T06:53:00",
"request-id": "e538d184-de9f-4094-993e-a1875b5df2aa"
}
}
}

if i try the calendar from the default site exposed by booking all is working fine.

 

Any idea about what is causing the issue?

 

regards

 

fabio

  • Pawel Jarosz's avatar
    Pawel Jarosz
    Brass Contributor

    fabbio-b 

    Got exactly the same issue. Interesting thing is, that -just like for you - request:

     

     

     

    GET https://graph.microsoft.com/beta/bookingBusinesses

     

     

     

    Works well, and returns all the Bookings entities.

     

    I got all needed permissions on the API (granted myself Bookings.manage.all), additionally I am a Global Admin, AND even granted myself permissions to create bookings in the OWA policy - nothing works, initially I thought that the issue is with the cmdlets from https://www.powershellgallery.com/packages/Microsoft.Graph.Bookings powershell module, but then ended up getting the same error on the pure MS Graph.

     

    Any ideas anyone? I am sitting on this since yesterday almost all day, slowly driving me nuts..

    • Pawel Jarosz's avatar
      Pawel Jarosz
      Brass Contributor

      I GOT IT!!!


      Well... the problem most probably lies in... Exchange Online add permissions mechanisms, or rather me being too quick.

       

      So, do you recall that when you are an admin, you grant yourself permissions to a mailbox, and later you try to enter to mailbox all works well, BUT! HAHA! - when you try to enter the mailbox BEFORE you granted yourself permissions - then, even after applying the permissions - you need to wait a significant amount of time, like I hmm.. do not know 15 minutes maybe, before it all start to work again. Same happens when you have applied permissions and you removed them - you also need to wait. Well guess what - same happens here. As you know the booking underneath is a mailbox of certain scheduling type, so apparently same mechanisms apply.

       

      Permissions on MS Graph can be only set in "delegated" way, so you will have access to all of the bookings mailboxes you have created OR any other bookings where you will have FullAccess permissions. In my tests I was creating scheduling mailboxes and I was grantng myself permission, later I was taking them back, creating new mailboxes etc. lots of QUICK testing, and that is what lost me. I was too quick.

       

      To all of you facing this issue - try this: create new Scheduling Mailbox
      New-SchedulingMailbox -Name $Name -DisplayName $DisplayName -Alias $Alias -Owner $Owner -PrimarySmtpAddress $PrimarySmtpAddress -BusinessType $BusinessType -BookingServiceName $BookingServiceName -ReplyToAddress $UserUPN -TimeZone $TimeZone

       

      DO NOT run any PowerShell or direct MS Graph on this entity, instead first - grant permissions to yourself:
      Add-MailboxPermission -Identity $BookingID -User user -AccessRights FullAccess -InheritanceType All -AutoMapping:$false
      Add-RecipientPermission -Identity $BookingID -Trustee user -AccessRights SendAs -Confirm:$false

       

      And after that check:
      https://graph.microsoft.com/beta/bookingBusinesses/TestBooking@<tenant>.onmicrosoft.com

       

      I bet it will work now - worked for me.

       

      Cheers,

      J

       

Resources