Gmail Api的邮件方法从哪个标签获取邮件

时间:2018-04-19 08:18:07

标签: c# google-api gmail gmail-api google-api-dotnet-client

我正在尝试显示来自Gmail及其计数的消息ID ...因为all指定ALL Mail包含来自所有标签的邮件,但是在输出中它显示计数为667并且实际上在我的邮箱中全部邮件只有405封邮件。我不明白在我的情况下输出窗口上打印的是什么。我想知道Gmail的消息API方法返回来自哪个标签的消息列表。 请帮我。 谢谢

public static List<Message> ListMessages(GmailService service, String userId, String query)
{
    List<Message> result = new List<Message>();
    List<Label> Labels = new List<Label>();        
    UsersResource.MessagesResource.ListRequest request = service.Users.Messages.List(userId);
    UsersResource.LabelsResource.ListRequest request1 = service.Users.Labels.List(userId);
    request.Q = query;
    int i = 0;       
    ListLabelsResponse response1 = request1.Execute();

    Console.WriteLine("\n \nList of labels with id's: ");
    foreach (Label label in response1.Labels)
    {
        Console.WriteLine(label.Id + " - " + label.Name);
    }

    do
    {
        try
        {
            ListMessagesResponse response = request.Execute();
            result.AddRange(response.Messages);
            request.PageToken = response.NextPageToken;
            //Console.WriteLine("\n List of messages Id's: ", result);
        }
        catch (Exception e)
        {
            Console.WriteLine("An error occurred: " + e.Message);
        }
    } while (!String.IsNullOrEmpty(request.PageToken));

    (...)
}

1 个答案:

答案 0 :(得分:0)

请在此处查看API文档:https://developers.google.com/apis-explorer/#p/gmail/v1/

您可以使用gmail.users.labels.list

下载用户标签列表

然后,您可以使用gmail.users.labels.get

获取特定标签中的电子邮件数量

在这个documnetation网站上,您可以添加授权您的Gmail帐户并测试浏览器中的所有API方法 - 调试所有结果非常方便。