Google-api-go-client:列出带有标签的消息并获取 header 字段
Google-api-go-client: listing messages w/ label and fetching header fields
我想列出带有特定标签的消息。所以我使用了 Go Quickstart code from google 并将范围设置为 gmail.MailGoogleComScope.
获取带有标签 "INBOX" 的所有消息的列表使用此代码可以正常工作
mes, err := srv.Users.Messages.List(user).LabelIds("INBOX").Do()
但是当我用 "TEST" 替换 "INBOX" 时,我得到了错误:
nable to retrieve Messages. googleapi: Error 400: Invalid label: TEST,
invalidArgument exit status 1
并且有一个名为 TEST 的标签。我做错了什么?
"INBOX"的标签名称和ID相同。但是,有时标签名称和标签 ID 会有所不同。您有 2 种方法来检索标签的消息列表。以下脚本假设使用 google.
中的 Go Quickstart
1。检查标签 ID 并检索消息列表
检索标签名称和 ID:
mes, err := srv.Users.Labels.List(user).Do()
if err != nil {
log.Fatalf("Error: %v", err)
}
for _, e := range mes.Labels {
fmt.Println(e.Name + ", " + e.Id)
}
使用labelID
检索消息列表:
mes, err := srv.Users.Messages.List(user).LabelIds(labelID).Do()
if err != nil {
log.Fatalf("Error: %v", err)
}
for _, e := range mes.Messages {
fmt.Println(e.Id)
}
2。使用 "Q"
检索邮件列表
mes, err := srv.Users.Messages.List(user).Q("label:labelname").Do()
if err != nil {
log.Fatalf("Error: %v", err)
}
for _, e := range mes.Messages {
fmt.Println(e.Id)
}
这样可以直接检索标签名称的消息列表。 "Q"参数同Gmail搜索框
参考资料:
我想列出带有特定标签的消息。所以我使用了 Go Quickstart code from google 并将范围设置为 gmail.MailGoogleComScope.
获取带有标签 "INBOX" 的所有消息的列表使用此代码可以正常工作
mes, err := srv.Users.Messages.List(user).LabelIds("INBOX").Do()
但是当我用 "TEST" 替换 "INBOX" 时,我得到了错误:
nable to retrieve Messages. googleapi: Error 400: Invalid label: TEST, invalidArgument exit status 1
并且有一个名为 TEST 的标签。我做错了什么?
"INBOX"的标签名称和ID相同。但是,有时标签名称和标签 ID 会有所不同。您有 2 种方法来检索标签的消息列表。以下脚本假设使用 google.
中的 Go Quickstart1。检查标签 ID 并检索消息列表
检索标签名称和 ID:
mes, err := srv.Users.Labels.List(user).Do()
if err != nil {
log.Fatalf("Error: %v", err)
}
for _, e := range mes.Labels {
fmt.Println(e.Name + ", " + e.Id)
}
使用labelID
检索消息列表:
mes, err := srv.Users.Messages.List(user).LabelIds(labelID).Do()
if err != nil {
log.Fatalf("Error: %v", err)
}
for _, e := range mes.Messages {
fmt.Println(e.Id)
}
2。使用 "Q"
检索邮件列表mes, err := srv.Users.Messages.List(user).Q("label:labelname").Do()
if err != nil {
log.Fatalf("Error: %v", err)
}
for _, e := range mes.Messages {
fmt.Println(e.Id)
}
这样可以直接检索标签名称的消息列表。 "Q"参数同Gmail搜索框
参考资料: