C# 从Gmail API访问消息内容
我无法使用gmail API显示消息内容。我已连接到邮箱,正在生成邮件列表,但除ID外,与邮件关联的所有值均为空 生成消息列表的代码取自gmail API网站上的示例代码:C# 从Gmail API访问消息内容,c#,.net,gmail-api,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>
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);
}
但再一次,当我在打印行放置断点并检查消息列表时,与消息内容相关联的所有值都为null 我明白了;我不说了,因为这不太明显。Had必须在foreach循环中添加get语句,以使用列表中的Id显式获取消息
foreach(Message m in messages)
{
Message m2 = service.Users.Messages.Get("me", m.Id).Execute();
Console.WriteLine("Message: {0}", m2.Snippet);
}
向上投票,因为问题中的代码帮助我解决了问题: