kai*_*inC 5 python-3.x google-api-python-client gmail-api
我正在尝试通过 Python 中的 Google API 发送消息,并尝试运行几乎直接从Google 示例页面获取的示例。
def CreateMessage(sender, to, subject, message_text):
message = MIMEText(message_text)
message['to'] = to
message['from'] = sender
message['subject'] = subject
return {'raw': base64.urlsafe_b64encode(message.as_string().replace('message','resource').encode('ascii'))}
Run Code Online (Sandbox Code Playgroud)
但是当我尝试发送它时
message = CreateMessage(sender, to, subject, message_text)
message = service.users().messages().send(body=list(message),userId='me').execute()
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:“'raw' RFC822 有效负载消息字符串或通过 /upload/* URL 上传消息需要”
从其他帖子看来,谷歌似乎在期待一个附件。MIMEText 有什么问题让它期待一个,如果有,我该如何解决?
小智 7
我能够通过删除以下更改来使示例create_message正常工作:
create_message = {
'raw': encoded_message
}
Run Code Online (Sandbox Code Playgroud)
list(message)不是必需的,并且为 API 提供了以下内容:
[{"raw": "b64 content..."}]
Run Code Online (Sandbox Code Playgroud)
做就是了:
...messages().send(body=message, userId='me'...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2055 次 |
| 最近记录: |