首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

尝试使用Gmail API创建回复帖子的草稿时,原始电子邮件内容不会附加到草稿邮件中

在使用Gmail API创建回复帖子的草稿时,原始电子邮件内容不会自动附加到草稿邮件中。这是因为Gmail API的设计如此,它只提供了创建草稿的功能,而不会自动将原始邮件内容包含在草稿中。

要解决这个问题,您可以通过以下步骤手动将原始邮件内容附加到草稿中:

  1. 使用Gmail API的users.messages.get方法获取原始邮件的详细信息。您需要提供原始邮件的ID作为参数来检索该邮件的内容。
  2. 从获取的邮件详细信息中提取原始邮件的内容。可以通过访问payload字段和其子字段来获取邮件的正文、附件、发件人等信息。
  3. 将原始邮件的内容添加到您要创建的草稿邮件中。您可以使用Gmail API的users.drafts.create方法创建一个新的草稿,并在请求正文中包含原始邮件的内容。

以下是一个示例代码片段,展示了如何使用Python和Gmail API来创建包含原始邮件内容的草稿:

代码语言:txt
复制
import base64
from googleapiclient.discovery import build

# 创建Gmail API客户端
service = build('gmail', 'v1', credentials=credentials)

# 获取原始邮件的详细信息
message = service.users().messages().get(userId='me', id='原始邮件ID').execute()

# 提取原始邮件的内容
raw_message = message['payload']['headers'][0]['value']
raw_message = base64.urlsafe_b64decode(raw_message).decode('utf-8')

# 创建草稿邮件
draft = {
    'message': {
        'raw': base64.urlsafe_b64encode(raw_message.encode('utf-8')).decode('utf-8')
    }
}

# 将草稿邮件保存到草稿箱
created_draft = service.users().drafts().create(userId='me', body=draft).execute()

请注意,上述代码仅演示了如何手动将原始邮件内容添加到草稿中。在实际应用中,您可能需要根据自己的需求进行适当的修改和调整。

推荐的腾讯云相关产品:腾讯云邮件推送(https://cloud.tencent.com/product/ses)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python 验证码 过期

def generate_token(key, expire=3600): r''' @Args: key: str (用户给定的key,需要用户保存以便之后验证token,每次产生token时的key 都可以是同一个key) expire: int(最大有效时间,单位为s) @Return: state: str ''' ts_str = str(time.time() + expire) ts_byte = ts_str.encode("utf-8") sha1_tshexstr = hmac.new(key.encode("utf-8"), ts_byte, 'sha1').hexdigest() token = ts_str + ':' + sha1_tshexstr b64_token = base64.urlsafe_b64encode(token.encode("utf-8")) return b64_token.decode("utf-8") def certify_token(key, token): r''' @Args: key: str token: str @Returns: boolean ''' token_str = base64.urlsafe_b64decode(token).decode('utf-8') token_list = token_str.split(':') if len(token_list) != 2: return False ts_str = token_list[0] if float(ts_str) < time.time(): # token expired return False known_sha1_tsstr = token_list[1] sha1 = hmac.new(key.encode("utf-8"),ts_str.encode('utf-8'),'sha1') calc_sha1_tsstr = sha1.hexdigest() if calc_sha1_tsstr != known_sha1_tsstr: # token certification failed return False # token certification success return True

02
领券