登录
首页 >  Golang >  Go问答

使用 Gmail API,如何利用邮件地址栏中的唯一 ID 来检索线程/消息?

来源:stackoverflow

时间:2024-02-07 10:24:23 335浏览 收藏

哈喽!大家好,很高兴又见面了,我是golang学习网的一名作者,今天由我给大家带来一篇《使用 Gmail API,如何利用邮件地址栏中的唯一 ID 来检索线程/消息?》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一起来看看吧!

问题内容

我正在开发一个使用 gmail api 的项目,我需要在线程中读取消息以获取一些信息(例如消息正文和底部部分)。

这样我就可以访问我的收件箱了,一切都已设置完毕并可以使用了。 但我对下一步很挣扎:找到我的消息/线程的唯一信息是您可以在 gmail 网址上找到的唯一 id(例如:https://mail.google.com/mail/u/0/d /xxxxxxx/#inbox/**uniqueid**)

我阅读了 google gmail api 的 golang 文档,但找不到任何方法来获取仅包含此信息的线程或消息。我错了吗?

如果没有,我可以用什么方法来解决这个问题? 报废?检索消息id? 或者还有其他我可以使用的库吗?

我尝试使用以下功能: `

message, err := srv.users.messages.get(user, uniqueid).do()
if err != nil {
    return fmt.sprintf("unable to retrieve message: %v", err)
}

`

`

thread, err := srv.Users.Threads.Get(user, uniqueID).Do()
if err != nil {
    return fmt.Sprintf("Unable to retrieve thread: %v", err)
}

`

但 uniqueid 对他们不起作用,他们需要 messageid 或 threadid(当您在 gmail 邮件中点击“显示原始内容”时可以找到这些 id)。

无法检索消息:googleapi:错误 400:id 值无效,invalidargument

欢迎任何建议! ^^ 谢谢


正确答案


如果您已经拥有 threadidid(使用方法 users.messages.list 获取的 messageid 或 threadid),则您的案例可以使用方法 users.messages.get 获取有效负载字段下的“message-id”。

它以这种格式显示:

{
        "name": "message-id",
        "value": "\u003cmessage-id\u003e"
      },

要获取实际的消息 id(show original 下的消息 id,您需要修剪值开头的 \u003c 和末尾的 \u003e

可能是这样的:

gmailMessageResposne, _ := gmail.Service.Users.Messages.Get("[email protected]", "rfc822msgid").Format("full").Do()

参考:

终于介绍完啦!小伙伴们,这篇关于《使用 Gmail API,如何利用邮件地址栏中的唯一 ID 来检索线程/消息?》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>