简体   繁体   English

使用C#.Net Gmail API,为什么我不能在收件箱中打印电子邮件数量?

[英]Using C# .Net Gmail API, Why can i not print number of email in inbox?

Im experimenting with the gmail api in C#. 我在C#中试验gmail api。

My code looks like this: 我的代码看起来像这样:

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

                Console.WriteLine("Count Message: ");

                IList messages = request.Execute().Messages;

                if (messages != null && messages.Count > 0)
                {
                    foreach (var message in messages)
                    {
                        Console.WriteLine(message);
                    }
                }

It returns Google.Apis.Gmail.v1.Data.Message, 100 times. 它返回Google.Apis.Gmail.v1.Data.Message,100次。 I understand that there are apperently 100 message in messages, but why? 据我所知,消息中有100条消息,但为什么呢? Im so confused. 我很混乱。

message is a class (not a string) and Console.WriteLine(message); message是一个类(不是字符串)和Console.WriteLine(message); would call and print it's .ToString() method which would lead to what you are currently seeing. 将调用并打印它的.ToString()方法,这将导致您当前看到的内容。

Here you can find more about its properties. 在这里您可以找到有关其属性的更多信息 you may want to print its Raw property which is base64string of the message: 您可能想要打印其Raw属性,它是消息的base64string:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM