我成功地将所有指定标签的labelid带到特定邮件:
var emailInfoRequest = gmailService.Users.Messages.Get(MigrationToolConstants.userIdString, mailId);
var emailInfoResponse = emailInfoRequest.ExecuteAsync();
emailInfoResponse.Wait();
emailInfoResponse.Result.LabelIds
但我手动创建的标签正在接收labelid:label_1,label_2等..而不是作为labelId的名称
但服务邮件是labelId - 标签的名称,例如:“INBOX”。
因此,在我的对象中,我需要存储分配给特定邮件的所有标签。有没有办法不检查2个循环进行检查是labelId与用户的labelLists匹配,以获取标签的名称,因为我真的需要安全的额外检查,因为时间问题。
答案 0 :(得分:0)
foreach (var labelId in emailInfoResponse.Result.LabelIds)
{
foreach (var label in labels)
{
if (labelId == label.Id)
{
//Do smth
break;
}
}
}
这是一种做到这一点的方法,但是如果有一段时间我可以赢得一些时间会很棒