获取标签ID以使用GMAIL API获取消息列表

时间:2014-06-30 07:30:03

标签: java api gmail

我正在使用Google几天前推出的新GMAIL API v1。

我想获取一些使用某些标签过滤的电子邮件列表。如果我想这样做,我需要获得每个“label_name”的标签ID ,但我只能得到所有标签的列表......

有什么想法吗?

迭。

3 个答案:

答案 0 :(得分:1)

好吧,我用过:

ListMessagesResponse messagesWithLabels = service.users().messages().list("me").setQ("label:mylabel").execute();

它正在工作:)

答案 1 :(得分:1)

LABEL ID与LABEL NAME相同。

{
   "id": "INBOX",
   "name": "INBOX",
   "messageListVisibility": "hide",
   "labelListVisibility": "labelShow",
   "type": "system"
  }

使用您的凭据尝试API Explorer

答案 2 :(得分:0)

标签ID仅对于系统生成的标签与“标签名称”相同。例如CHAT,SENT,INBOX,TRASH等。

用户生成的标签的ID与名称不同。

获取它们的最简单方法是使用imCaps提到的API explorer

或者,您可以使用

function listLabels() {
  var request = Gmail.Users.Labels.list('me');
  var name, id;
  for (var l = 0 ; l < request.labels.length; l++) {
    name = request.labels[l].name;
    id = request.labels[l].id;
    Logger.log("%s. %s %s", l, name, id)
  }
}

您需要在高级Google服务中启用Gmail API,此代码才能正常工作。