Python 使用导入函数将mime.eml文件导入gmail API
我是一名python开发人员,对使用Google的gMail API将.eml文件导入gMail帐户有些陌生 我已经完成了所有的基础工作,让我的oAuth证书工作起来,等等 但是,我被数据文件中加载的地方卡住了。我需要帮助将消息数据加载到变量中 如何从磁盘上的示例电子邮件文件(以rfc822格式存储)中以适当的格式创建消息\u数据变量引用 假设磁盘上有一个文件位于/path/to/file/sample.eml。。。如何以gMail API导入调用的正确格式将其加载到消息_数据中Python 使用导入函数将mime.eml文件导入gmail API,python,gmail-api,Python,Gmail Api,我是一名python开发人员,对使用Google的gMail API将.eml文件导入gMail帐户有些陌生 我已经完成了所有的基础工作,让我的oAuth证书工作起来,等等 但是,我被数据文件中加载的地方卡住了。我需要帮助将消息数据加载到变量中 如何从磁盘上的示例电子邮件文件(以rfc822格式存储)中以适当的格式创建消息\u数据变量引用 假设磁盘上有一个文件位于/path/to/file/sample.eml。。。如何以gMail API导入调用的正确格式将其加载到消息_数据中 ...
...
# how do I properly load message_data from the rfc822 disk file?
media = MediaIoBaseUpload(message_data, mimetype='message/rfc822')
message_response = service.users().messages().import_(
userId='me',
fields='id',
neverMarkSpam=True,
processForCalendar=False,
internalDateSource='dateHeader',
media_body=media).execute(num_retries=2)
...
- 您希望使用Gmail API导入eml文件
- 您已经能够获取和放置Gmail API的值
- 您希望使用GoogleAPI python客户端实现这一点。
- 脚本中的
可用于上载eml文件服务
- 脚本中的
- 在这种情况下,使用“Users.messages:insert”方法
eml_file = "###" # Please set the filename with the path of the eml file.
user_id = "me"
f = open(eml_file, "r", encoding="utf-8")
eml = f.read()
f.close()
message_data = io.BytesIO(eml.encode('utf-8'))
media = MediaIoBaseUpload(message_data, mimetype='message/rfc822', resumable=True)
metadata = {'labelIds': ['INBOX']}
res = service.users().messages().insert(userId=user_id, body=metadata, media_body=media).execute()
print(res)
在上面的脚本中,还需要以下模块
import io
from googleapiclient.http import MediaIoBaseUpload
注:
- 在上面修改的脚本中,
用作元数据。在这种情况下,导入的eml文件可以在Gmail的收件箱中看到。如果要更改此项,请修改此项{'labelIds':['INBOX']}
如果我误解了您的问题,并且这不是您想要的结果,我很抱歉。您可以使用Google Apps脚本在Google Drive中导入eml文件吗?也许打电话给Gmail.Users.Messagse.insert?