我正在尝试检索特定日期之后的所有记录(网络研讨会),如下所示:
var result = await graphClient.Solutions.VirtualEvents.Webinars
.GetByUserIdAndRoleWithUserIdWithRole("organizer", "16b1190f-0552-4c95-90f5-c4d2d852812b").GetAsync((requestConfiguration) =>
{
requestConfiguration.QueryParameters.Count = true;
// requestConfiguration.QueryParameters.Filter =
// "date(startDateTime/dateTime) ge 2024-03-26T12:00:00Z";
requestConfiguration.QueryParameters.Filter =
"cast(startDateTime/dateTime, Edm.DateTimeOffset) ge 2024-03-26T12:00:00Z";
});
网络研讨会模型 StartDateTime.DateTime 的类型是一个字符串:
我尝试了不同的方法,但要么收到“Edm.String”和“Edm.DataTimeOffset”错误,要么过滤器不起作用
我从未尝试过过滤网络研讨会,但对于某些属性类型为
DateTimeTimeZone
的其他端点,我需要将日期时间用单引号引起来。
$filter=start/dateTime ge '2024-02-03T12:00:00'
如果需要包含时区偏移,请将
+
编码为 %2B
$filter=start/dateTime ge '2024-02-03T12:00:00%2B2' // +2
$filter=start/dateTime ge '2024-02-03T12:00:00-2' // -2
我不确定Graph SDK是否会在过滤查询中自动编码
+
。
var result = await graphClient.Solutions.VirtualEvents.Webinars
.GetByUserIdAndRoleWithUserIdWithRole("organizer", "16b1190f-0552-4c95-90f5-c4d2d852812b").GetAsync((rc) =>
{
rc.QueryParameters.Count = true;
rc.QueryParameters.Filter = "startDateTime/dateTime ge '2024-03-26T12:00:00Z'";
});