Gmail-Api - C#:messages.list:计算给定日期的电子邮件数量。

时间:2014-08-01 13:41:07

标签: c# gmail gmail-api

使用C#Gmail - Api,我会尝试计算某一天的电子邮件数量。

我使用以下代码:

public static int CountMessages(GmailService service, String userId, String query)
 {
            int numberOfMessages = 0;

            UsersResource.MessagesResource.ListRequest request = service.Users.Messages.List(userId);
            request.Q = query;

            do
            {
                try
                {
                    ListMessagesResponse response = request.Execute();
                    if (response.Messages != null)
                    {
                        numberOfMessages += response.Messages.Count;
                    }

                    Console.WriteLine(request.PageToken);

                    request.PageToken = response.NextPageToken;
                }
                catch (Exception e)
                {
                    Console.WriteLine("An error occurred: " + e.Message);
                }
            } while (!String.IsNullOrEmpty(request.PageToken));

            return numberOfMessages;
}

我的查询是这样的:

after:2014/05/25 before:2014/05/26 in:anywhere (something)

当在gmail中执行查询时,我的结果数量与我的代码相同(或多或少的结果,但数量从不相同)。

我的代码有什么问题吗?

的引用:

  • Gmail api
  • Searching for Messages
  • Users.messages: list
  • 2 个答案:

    答案 0 :(得分:1)

    对于初学者,您的代码正在计算消息数量,而Gmail会显示线程数,而一个帖子可能包含多条消息。

    答案 1 :(得分:0)

    Turn conversations off in Gmail然后再试一次。