为了账号安全,请及时绑定邮箱和手机立即绑定

在 GMail API 中获取附件

在 GMail API 中获取附件

Go
阿晨1998 2021-12-07 14:47:34
我正在尝试从 golang 的邮件中获取附件。问题出在从 Gmail 读取的 base64 负载中,给了我错误illegal base64 data at input byte 13这是我的代码(省略了错误处理)..attach, _ := srv.Users.Messages.Attachments.Get(user, messageid, attachmentid).Do()decoded, err := base64.StdEncoding.DecodeString(attach.Data)这会引发上述错误,如果我查看 GMail 中的原始邮件,可以在标题后看到:begin 644 filename-of-the-attachment.extensionM'XL(`/Y;GU8``^S]R[(>R9&E"\[[*5)JVI*6;N9WS(_TD3/J0<U:>H`*;F9"...任何帮助表示感谢
查看完整描述

1 回答

?
慕妹3242003

TA贡献1824条经验 获得超6个赞

问题在于 base64 编码:正如文档所说,有效负载(“完整”或“原始”模式)采用 base64URL 编码,而不是 base64。所以这段代码正在工作:


attach, _ := srv.Users.Messages.Attachments.Get(user, messageid, attachmentid).Do()

decoded, err := base64.URLEncoding.DecodeString(attach.Data)

fileout, err := os.OpenFile(...

也就是说,我看到完整模式(默认)更容易处理:)


查看完整回答
反对 回复 2021-12-07
  • 1 回答
  • 0 关注
  • 148 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信