【发布时间】:2016-04-26 04:21:13
【问题描述】:
我正在尝试从 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.extension
M'XL(`/Y;GU8``^S]R[(>R9&E"\[[*5)JVI*6;N9WS(_TD3/J0<U:>H`*;F9"...
任何帮助表示赞赏 谢谢
【问题讨论】:
-
您使用哪个 go 包连接到 Gmail?
-
"google.golang.org/api/gmail/v1"
-
您可能希望将 get 参数
format设置为raw以便获得 base64: developers.google.com/gmail/api/v1/reference/users/messages/get 看起来在调用 Do 之前需要使用一种方法。 github.com/google/google-api-go-client/blob/master/gmail/v1/… -
看到这个stackoverflow.com/questions/24745006/… 并尝试你的想法,然后让你知道
-
原始输入也是如此……base64解码失败