Python-使用 format='raw' 解析 gmail messages().get()

CSS*_*Ser 6 python-3.x gmail-api

我正在使用 gmail api 从我的邮箱获取消息。但是当在 get 方法中使用 format='raw' 时,我无法解析 'raw' 字段中返回的数据。

service.users().messages().get(userId='me', id=message_id, format='raw').execute()
Run Code Online (Sandbox Code Playgroud)

这是在文档中,

“raw”:以 base64url 编码字符串的形式返回原始字段中包含正文内容的完整电子邮件数据;不使用有效负载字段。

我尝试过

  • base64.urlsafe_b64decode(raw.encode('utf-8'))
  • base64.urlsafe_b64decode(raw.encode('ascii'))
  • base64.urlsafe_b64decode(raw.encode('cp932')) 消息是日语
  • base64.urlsafe_b64decode(原始)

返回值均不可读。

我得到了所有 ASCII 单词和数字,但没有一个日语单词可读:

  • 送到了(送去了
  • 已收到
  • X-已收到
  • ...
  • 内容类型:文本/纯文本;字符集=“UTF-8”
  • 内容传输编码:base64

当涉及日语(或消息正文?)时,消息变成类似: '''6Ie855Sw5qeYDQoNCuOBhOOBpOOCguOBiuS4luipseOBq+OBquOBo+OBpuOBiuOCiuOBvuOBmeOA gg0K44Oq44Ol44Km44Gn44GZ ...... PjwvZGl2PjwvZGl2Pjw vZGl2PjwvZGl2PjwvZGl2PjwvZGl2Pg0KPC9kaXY+ PC9kaXY+PC9kaXY+DQo='''

请帮帮我!!