我正试图从戈朗的一封邮件中得到一份附件。问题在于从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"...任何帮助都非常感谢
发布于 2016-01-21 08:53:02
问题在于base64编码:正如文档所述,有效载荷(“完整”或“原始”模式)是base64URL编码,而不是base64编码。所以这段代码起作用了:
attach, _ := srv.Users.Messages.Attachments.Get(user, messageid, attachmentid).Do()
decoded, err := base64.URLEncoding.DecodeString(attach.Data)
fileout, err := os.OpenFile(...尽管如此,我看到完整的模式(默认)更容易处理:)
https://stackoverflow.com/questions/34898052
复制相似问题