Я создаю консольное приложение для чтения электронных писем определенного пользователя и обработки писем, соответствующих определенному условию. Вот пример кода:
GraphServiceClient client = GetAuthenticatedClient();
string subject = "RE: ACTION NEEDED:";
string dt = "2018-10-5T00:00:00Z";
IUserMessagesCollectionPage msgs =
client
.Users["[email protected]"]
.Messages.Request()
//.Filter($"receivedDateTime gt {dt}") // invalid filter
.Filter($"startswith(subject, '{subject}') and receivedDateTime gt {dt}")
.Select(m => new { m.Subject, m.ReceivedDateTime, m.From, m.Body })
.Top(100)
.GetAsync().Result;
int msgCnt = msgs.Count;
Console.WriteLine($"Message count: {msgCnt}");
Console.ReadLine();
2 вопроса:
Я хочу, чтобы этот фильтр работал:
.Filter($"startswith(subject, '{subject}') and receivedDateTime gt {dt}")
startswith
работает сам по себе, но с фильтром даты он ошибается.
Я попробовал фильтр даты сам по себе, но он не работает. Я получаю недействительный фильтр. Я добавил одинарные кавычки вокруг даты, но безуспешно.
.Filter($"receivedDateTime gt {dt}") // Get invalid filter
Любые идеи?