如何使用GMAIL API通过labelId获取标签名称

时间:2018-02-12 08:57:31

标签: c# gmail-api

我成功地将所有指定标签的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匹配,以获取标签的名称,因为我真的需要安全的额外检查,因为时间问题。

1 个答案:

答案 0 :(得分:0)

foreach (var labelId in emailInfoResponse.Result.LabelIds)
{
  foreach (var label in labels)
  {
    if (labelId == label.Id)
    {
      //Do smth
      break;
    }
  }
}

这是一种做到这一点的方法,但是如果有一段时间我可以赢得一些时间会很棒