从Gmail API访问邮件内容

时间:2015-05-11 18:11:57

标签: c# .net gmail-api

我无法使用gmail API显示邮件内容。我已连接到邮箱,并且正在生成消息列表,但除了ID之外,与消息关联的所有值都为空。

生成消息列表的代码是从gmail API网站上的示例代码中删除的:

public static List<Message> ListMessages(GmailService service, String userId, String query)
    {
        List<Message> result = new List<Message>();
        UsersResource.MessagesResource.ListRequest request = service.Users.Messages.List(userId);
        request.Q = query;
        do
        {
            try
            {
                ListMessagesResponse response = request.Execute();
                result.AddRange(response.Messages);
                request.PageToken = response.NextPageToken;
            }
            catch (Exception e)
            {
                Console.WriteLine("An error occurred: " + e.Message);
            }
        } while (!String.IsNullOrEmpty(request.PageToken)); 
        return result;
    }

打印消息的代码是:

List<Message> messages = ListMessages(service, "me", ""); 
        Console.WriteLine("Messages from user's inbox:");
        foreach(Message m in messages)
        {
            string snippet = m.Snippet;
            Console.WriteLine("Message: {0}", snippet);
        }

但是,再一次,当我在打印行放置一个断点并检查消息列表时,与消息内容相关的所有值都为空。

1 个答案:

答案 0 :(得分:0)

我明白了;我会把它留下来,因为它并不是很明显。不得不在foreach循环中添加一个get语句来明确地&#34;得到&#34;使用列表中的Id的消息。

foreach(Message m in messages)
        {
            Message m2 = service.Users.Messages.Get("me", m.Id).Execute();
            Console.WriteLine("Message: {0}", m2.Snippet);
        }