我无法使用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);
}
但是,再一次,当我在打印行放置一个断点并检查消息列表时,与消息内容相关的所有值都为空。
答案 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);
}