登录
首页 >  Golang >  Go问答

使用 Gmail API 检索邮件正文

来源:stackoverflow

时间:2024-03-29 21:03:33 303浏览 收藏

在Golang实战开发的过程中,我们经常会遇到一些这样那样的问题,然后要卡好半天,等问题解决了才发现原来一些细节知识点还是没有掌握好。今天golang学习网就整理分享《使用 Gmail API 检索邮件正文》,聊聊,希望可以帮助到正在努力赚钱的你。

问题内容

我正在尝试使用 gmail api 提取电子邮件正文,但我无法实际检索电子邮件正文,因为我得到的只是以下内容:

messages, err := srv.Users.Messages.List(user).Do() for _, l := range messages.Messages { m, err := srv.Users.Messages.Get(user, l.Id).Do() if err != nil { log.Fatalf("Unable to retrieve labels: %v", err) } for _, part := range m.Payload.Parts { if part.MimeType == "text/html" { data, _ := base64.StdEncoding.DecodeString(part.Body.Data) html := string(data) fmt.Println(html) } } }

对于如何获取电子邮件的实际正文有什么想法吗?


解决方案


您应该检查 decodestring 返回的错误,但否则您应该尝试使用 base64.urlencoding 而不是 base64.stdencoding 来解码数据。

来自 MessagePartBody 的文档:

    // Data: The body data of a MIME message part as a base64url encoded
    // string. May be empty for MIME container types that have no message
    // body or when the body data is sent as a separate attachment. An
    // attachment ID is present if the body data is contained in a separate
    // attachment.
    Data string `json:"data,omitempty"`

今天关于《使用 Gmail API 检索邮件正文》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

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