我已编写代码来检索标签,然后根据所选标签 - 返回Gmail API中的电子邮件列表。但我注意到的是,它对于一些请求完全正常,然后在某些时候我的应用程序崩溃了Http Host
某些东西或更确切的错误(它被截断),我重新启动了我的应用程序 - 它从那时起就没有像预期的那样工
代码片段:
检索所有标签:
public Dictionary<string, string> GetAllLabels(string userId) {
Dictionary<string, string> labels = new Dictionary<string, string>();
try {
ListLabelsResponse response = _service.Users.Labels.List(userId).Execute();
foreach (var label in response.Labels) {
labels.Add(label.Id, label.Name);
}
} catch (Exception e) {
Console.WriteLine("An error occurred: " + e.Message);
}
return labels;
检索邮件的部分代码:
var result = new List<Google.Apis.Gmail.v1.Data.Message>();
UsersResource.MessagesResource.ListRequest request = _service.Users.Messages.List(userId);
request.LabelIds = labelId;
request.Q = query;
do {
try {
ListMessagesResponse response = request.Execute();
我可以看到labelId
和query
设置为正确的值:Label_5
,after:2017/2/16 before:2017/2/17
因为如果我查找Label_5是什么 - 它会返回正确的标签,如果我将日期过滤器复制粘贴到搜索栏中 - 它会返回正确的电子邮件,排在第16位。
但不是像以前一样检索第16个数据 - 现在突然之间,如果我通过应用程序传递after:2017/2/15 before:2017/2/16
并且请求的电子邮件,那么16日收到的电子邮件现在才会被返回16日:after:2017/2/16 before:2017/2/17
现在返回null(同样,这只发生在Gmail用户界面中 NOT 中)。这对我来说毫无意义,为什么突然间它会改变这样的行为。
似乎它与API本身而不是我的代码有关,这个问题有解决方法吗?任何帮助将不胜感激。