microsoftgraph/msgraph-beta-sdk-php

Cannot request events delta without startDateTime

Opened this issue · 1 comments

Describe the bug

Event delta documentation says param startDateTime is optional when working with calendars but class DeltaRequestBuilder always include it in template url causing call to fail with ODataError.

Expected behavior

When performing a normal call without any optional param to get a full delta, no error should append.

How to reproduce

$client->me()
->calendars()
->byCalendarId($remoteId)
->events()
->delta()
->get(
    new DeltaRequestBuilderGetRequestConfiguration([
        'Prefer' => sprintf('outlook.timezone="%s"', $local->getTimeZone()->getName())
    ])
)
->wait()

SDK Version

2.8.0

Latest version known to work for scenario above?

No response

Known Workarounds

No response

Debug output

{
    "error": {
        "code": "ErrorInvalidParameter",
        "message": "The value '' of parameter 'StartDateTime' is invalid."
    }
}

Configuration

No response

Other information

No response

Thank you for reporting this @AntoineMarques

As a temporary workaround, please consider using the withUrl() method to override the request URL:

$client->me()
->calendars()
->byCalendarId($remoteId)
->events()
->delta()
->withUrl('https://graph.microsoft.com/beta/me/calendar/id/events/delta')
->get(
    new DeltaRequestBuilderGetRequestConfiguration([
        'Prefer' => sprintf('outlook.timezone="%s"', $local->getTimeZone()->getName())
    ])
)
->wait()

Also, noted that this is a feature on the Beta Graph API and the Microsoft Graph Beta SDK should receive these preview updates soon