首页 > 解决方案 > 使用 C# .Net Gmail API,为什么我不能打印收件箱中的电子邮件数量?

问题描述

我在 C# 中试验 gmail api。

我的代码如下所示:

    UsersResource.MessagesResource.ListRequest 请求 = service.Users.Messages.List("me");

                Console.WriteLine("计数消息:");

                IList 消息 = request.Execute().Messages;

                if (messages != null && messages.Count > 0)
                {
                    foreach(消息中的 var 消息)
                    {
                        Console.WriteLine(消息);
                    }
                }

它返回 Google.Apis.Gmail.v1.Data.Message,100 次。我知道消息中显然有 100 条消息,但为什么呢?我很混乱。

标签: c#

解决方案


message是一个类(不是字符串),并且 Console.WriteLine(message);会调用并打印它的.ToString()方法,这将导致您当前看到的内容。

在这里您可以找到有关其属性的更多信息。您可能想要打印它的Raw属性,即消息的 base64string:

  foreach (var message in messages)
  {
        string body = Encoding.UTF8.GetString(Convert.FromBase64String(message.Raw));
        Console.WriteLine(body);
  }

推荐阅读