我正在嘗試從 golang 的郵件中獲取附件。問題出在從 Gmail 讀取的 base64 負(fù)載中,給了我錯(cuò)誤illegal base64 data at input byte 13這是我的代碼(省略了錯(cuò)誤處理)..attach, _ := srv.Users.Messages.Attachments.Get(user, messageid, attachmentid).Do()decoded, err := base64.StdEncoding.DecodeString(attach.Data)這會(huì)引發(fā)上述錯(cuò)誤,如果我查看 GMail 中的原始郵件,可以在標(biāo)題后看到: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貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個(gè)贊
問題在于 base64 編碼:正如文檔所說,有效負(fù)載(“完整”或“原始”模式)采用 base64URL 編碼,而不是 base64。所以這段代碼正在工作:
attach, _ := srv.Users.Messages.Attachments.Get(user, messageid, attachmentid).Do()
decoded, err := base64.URLEncoding.DecodeString(attach.Data)
fileout, err := os.OpenFile(...
也就是說,我看到完整模式(默認(rèn))更容易處理:)
- 1 回答
- 0 關(guān)注
- 180 瀏覽
添加回答
舉報(bào)
0/150
提交
取消