c# - 使用 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 条消息,但为什么呢?我很混乱。
解决方案
message
是一个类(不是字符串),并且 Console.WriteLine(message);
会调用并打印它的.ToString()
方法,这将导致您当前看到的内容。
在这里您可以找到有关其属性的更多信息。您可能想要打印它的Raw
属性,即消息的 base64string:
foreach (var message in messages)
{
string body = Encoding.UTF8.GetString(Convert.FromBase64String(message.Raw));
Console.WriteLine(body);
}
推荐阅读
- python - 使用 langdetect 删除非英文文本
- amazon-web-services - 如何通过关系在 DynamoDB 中建模多对多?
- c - 如何在C中存储一堆字符串?
- c# - 引用我创建的 WCF 服务时出错
- spring-boot - Liquibase 中更改日志的生成不正确 - 没有函数匹配...您可能需要添加显式类型转换。(liquibase + spring.boot)
- tensorflow - 将自定义 yolo 权重转换为 tflite?
- reactjs - 使用 Firebase 和 React 的 useEffect 清理功能
- javascript - 如何使用 Joi 验证电子邮件
- mysql - MariaDB服务器版本上参数错误的SQL存储过程LIKE操作
- javascript - 为什么最初没有调用我的 useEffect ?