2

特定のユーザーの電子メールの電子メールを読み取り、特定の条件を満たす電子メールを処理するコンソール アプリを作成しています。サンプルコードは次のとおりです。

GraphServiceClient client = GetAuthenticatedClient();

string subject = "RE: ACTION NEEDED:";
string dt = "2018-10-5T00:00:00Z";
IUserMessagesCollectionPage msgs =
    client
    .Users["UserName@CompanyName.com"]
    .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 問題:

  1. このフィルターを機能させたい:

    .Filter($"startswith(subject, '{subject}') and receivedDateTime gt {dt}")
    

startswith単独で機能しますが、日付フィルターを使用するとエラーになります。

  1. 日付フィルターを単独で試しましたが、機能しません。無効なフィルターを取得します。運が悪かったので、日付を一重引用符で囲みました。

    .Filter($"receivedDateTime gt {dt}")  // Get invalid filter
    

何か案は?

4

2 に答える 2

0

不正な日付を使用しています。値2018-10-5T00:00:00Zに がありません0。より具体的には、日は05ではなくである必要があり5ます。

 string dt = "2018-10-05T00:00:00Z";
于 2018-10-08T13:47:12.187 に答える