Issue with Retrieving SingleValueExtendedProperties after July 11th, 2024
Dear Microsoft Graph Community,
I am writing to report an issue I am encountering with the Microsoft Graph API related to retrieving events with singleValueExtendedProperties
.
Functionality:
I am using the Graph API to create events in user calendars with a custom singleValueExtendedProperty
named "MarkedTime". This property stores the attendee email and meeting time slot.
I then use the API to retrieve these events, specifically targeting the "MarkedTime" property using $filter
and $expand
options.
Problem:
This functionality was working as expected until June 11th, 2024.
Since the evening of June 11th, I am no longer able to retrieve events with the "MarkedTime" property. The singleValueExtendedProperties
array remains empty when querying events created after this date.
Code Snippet:
const events = await clientObject
.api("/me/events") .select("id,subject,start,end,attendees,singleValueExtendedProperties")
.expand("singleValueExtendedProperties($filter=id eq 'String {8ca3a690-3a9f-4f71-bbca-8b5cc366313d} Name MarkedTime')")
.filter(start/dateTime ge '${startDateA}' and start/dateTime lt '${endDateA}'
)
.get();
Impact:
This issue prevents me from effectively retrieving and managing events with the "MarkedTime" information.
Request:
I would appreciate any assistance in understanding this recent change in behavior.
Is there a known issue with retrieving singleValueExtendedProperties
after a specific date?
Are there any updates to the API that might affect this functionality?
Additional Information:
I have confirmed that the code snippet functioned correctly before June 11th, 2024.
I am using the latest version of the Microsoft Graph SDK for Node.js.
This is my event object:
event = {
subject: meeting_title,
start: {
dateTime: firstSlotStartAmsterdam,
timeZone: amsterdamTimeZone,
},
end: {
dateTime: meetingEndTimeAmsterdam,
timeZone: amsterdamTimeZone,
},
location: {
displayName: meeting_location,
},
body: {
content: meeting_description,
contentType: "text",
},
attendees:
optionalAttendees.length > 0
? [...requiredAttendees, ...optionalAttendees]
: requiredAttendees,
singleValueExtendedProperties: [
{
id: "String {8ca3a690-3a9f-4f71-bbca-8b5cc366313d} Name MarkedTime",
value:`${attendingEmail}|${firstSlotStartAmsterdam} - ${meetingEndTimeAmsterdam}`,
},
],
};
```When singleValueExtendedProperty was working I was getting response like this
{
"@odata.etag": 'W/"v2ORkl5RSUG7JG7+pOSV4AAACNcz4w=="',
id: "AQMkADAwATMwMAItNzlkNS0yNDJlLTAwAi0wMAoARgAAA3fENo_Fb39IsX7kp68lL0UHAL9jkZJeUUlBuyRu-qTkleAAAAIBDQAAAL9jkZJeUUlBuyRu-qTkleAAAAAI2d0_AAAA",
subject: "25 event with extended",
start: { dateTime: "2024-07-25T07:15:00.0000000", timeZone: "UTC" },
end: { dateTime: "2024-07-25T07:30:00.0000000", timeZone: "UTC" },
attendees: [
{
type: "required",
status: { response: "none", time: "0001-01-01T00:00:00Z" },
emailAddress: {
name: "User A",
address: "example@outlook.com",
},
},
{
type: "required",
status: { response: "none", time: "0001-01-01T00:00:00Z" },
emailAddress: {
name: "User B",
address: "examplea@outlook.com",
},
},
{
type: "required",
status: { response: "none", time: "0001-01-01T00:00:00Z" },
emailAddress: {
name: "User C",
address: "examplea@outlook.com",
},
},
{
type: "required",
status: { response: "none", time: "0001-01-01T00:00:00Z" },
emailAddress: {
name: "User D",
address: "examplec@outlook.com",
},
},
],
singleValueExtendedProperties: [
{
id: "String {GUID} Name MarkedTime",
value:
"examplec@outlook.com|2024-07-25T09:15:00+02:00 - 2024-07-25T09:30:00+02:00",
},
],
But now I am getting response like this
[
{
"@odata.etag":"W/"PJGdjAUCn0mI8p4yDMQ8GgAAETrGDA=="",
"id":"AQMkADAwATNiZmYAZC03ZGMzLTM0NTMtMDACLTAwCgBGAAADp7sFzOx1akmVCZLvK0SxuwcAPJGdjAUCn0mI8p4yDMQ8GgAAAgENAAAAPJGdjAUCn0mI8p4yDMQ8GgAAABE_HvYAAAA=",
"subject":"for QA",
"start":{
"dateTime":"2024-09-11T06:30:00.0000000",
"timeZone":"UTC"
},
"end":{
"dateTime":"2024-09-11T07:30:00.0000000",
"timeZone":"UTC"
},
"attendees":[
{
"type":"required",
"status":{
"response":"none",
"time":"0001-01-01T00:00:00Z"
},
"emailAddress":{
"name":"User A",
"address":"example@outlook.com"
}
},
{
"type":"required",
"status":{
"response":"none",
"time":"0001-01-01T00:00:00Z"
},
"emailAddress":{
"name":"User B",
"address":"examplea@outlook.com"
}
},
{
"type":"required",
"status":{
"response":"none",
"time":"0001-01-01T00:00:00Z"
},
"emailAddress":{
"name":"User c@outlook.com",
"address":"exampleb@outlook.com"
}
}
]
]
}
Thank you for your time and support.