gpt4 book ai didi

python - Gmail Api 创建草稿回复

转载 作者:行者123 更新时间:2023-11-28 17:13:01 26 4
gpt4 key购买 nike

我正在使用 googles API 文档中的创建草稿功能:

https://developers.google.com/gmail/api/v1/reference/users/drafts/create

每当我发送邮件时,当我进入 gmail 时,我的电子邮件文本中会出现以下内容:

hello world
Date: Mon, 11 Sep 2017 15:31:19 +0200
Message-Id: <CAKPeGO69TbbigNFrK8T37fYgPzCfZwVf=p0gkvJbZF6duwWsdw@mail.gmail.com>
From: myemailaddress@gmail.com

我不知道为什么我会收到所有这些文本。

我想做的是创建一个现有电子邮件的电子邮件回复草稿,但我似乎得到的只是一个包含上面文本的新草稿(没有填充 to/from/subject 字段)。

这是我正在使用的函数:

import base64
from email.mime.audio import MIMEAudio
from email.mime.base import MIMEBase
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import mimetypes
import os

def CreateDraft(service, user_id, message_body):
"""Create and insert a draft email. Print the returned draft's message and id.

Args:
service: Authorized Gmail API service instance.
user_id: User's email address. The special value "me"
can be used to indicate the authenticated user.
message_body: The body of the email message, including headers.

Returns:
Draft object, including draft id and message meta data.
"""
try:


draft = service.users().drafts().create(userId=user_id, body=message_body).execute()

print('Draft id: %s\nDraft message: %s' % (draft['id'], draft['message']))

return draft

except errors.HttpError as error:
print('An error occurred: %s' % error)
return None

我是这样调用它的:

 gdraft.CreateDraft(service, user_id='me', message_body=
{
'message':
{'raw': 'aGVsbG8gd29ybGQ=',
'threadId': '15e5bdc650b1a068',
'payload': {
"mimeType": "multipart/alternative",
"headers": [
{
"name": "In-Reply-To",
"value": "<16DCF6644C054E39B1F7F901BDD08EA2@466209web4@mail.gmail.com>"
},
{
"name": "References",
"value": '<16DCF6644C054E39B1F7F901BDD08EA2@466209web4@mail.gmail.com>'
},
{
"name": "Message-ID",
"value": "<16DCF6644C054E39B1F7F901BDD08EA2@466209web4@mail.gmail.com"
},
{
"name": "Subject",
"value": "Re: Software Developer - Hertford"
}
]
}
}
})

我现在已经尝试了四天但没有成功,所以我非常感谢任何帮助。

更新:

所以看来我可能需要使用 createmessage 函数(根据下面的评论);然而这在 Python3 中似乎不起作用。

我改变了:

return {'raw': base64.urlsafe_b64encode(message.as_string())}

到:

 return {'raw': str(base64.urlsafe_b64encode(message.as_string().encode("utf-8")))}

试图让它工作但我收到错误:

An error occurred: <HttpError 400 when requesting https://www.googleapis.com/gmail/v1/users/me/drafts?alt=json returned "Missing draft message">

最佳答案

感谢大家留下的评论。你在不同的点上都很好。

问题是我使用的示例与文档页面上的示例略有不同。

我发现这里的代码有效:https://developers.google.com/gmail/api/guides/drafts

可以这样使用:

msg = create_message('YOU@gmail.com','THEM@company.com','Re: Some Subject','This is a test')

create_draft(service,'me', msg)

关于python - Gmail Api 创建草稿回复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46170469/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com