Gmail API:如何将草稿移动到INBOX,就像我们可以在Gmail UI中做的那样



Gmail API文档说明

消息和线程可以有多个与之相关的标签;然而,草案消息不能应用标签。

但是,我们可以使用Gmail web UI将草稿移动到收件箱。

我想用API做同样的事情。如何做到这一点?

感谢@DalmTo,我找到了如下解决方案。

message = email.mime.text.MIMEText("This is the body")
message['to'] = "to@example.com"
message['from'] = "to@subject.com"
message['subject'] = "Test draft"
payload1 = {"message": {
"raw": base64.urlsafe_b64encode(message.as_bytes()).decode("utf-8"),
# "labelIds": ["INBOX"]  # This will cause an error
}}
res1 = google.post("/gmail/v1/users/me/drafts", json=payload1)

payload2 = {"addLabelIds": ["INBOX"], "removeLabelIds":[]}
thread_id = res1.json()["message"]["threadId"]
res2 = google.post(f"/gmail/v1/users/me/threads/{thread_id}/modify", json=payload2)
# Or (both works)
# message_id = res1.json()["message"]["id"]
# res2 = google.post(f"/gmail/v1/users/me/messages/{thread_id}/modify", json=payload2)

相关内容

最新更新