首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过gmail api获取内容[‘payload’][‘body’][‘data’]第一封邮件

如何通过gmail api获取内容[‘payload’][‘body’][‘data’]第一封邮件
EN

Stack Overflow用户
提问于 2018-06-15 21:38:35
回答 1查看 1.5K关注 0票数 1

我正在尝试通过gmail api获取邮件正文。

代码语言:javascript
运行
复制
message = self.service.users().messages().get(userId=user, id=i,format='full').execute()

当我把我的最后一个电子邮件Id。我总是在content['payload']['body']['data']中找不到内容

像这样的节目。

代码语言:javascript
运行
复制
"body": {
    "size": 0
}

当然,它有消息体。

我可以通过content['snippet']获取sumally,但是我不能获取消息正文。

如果你对此有任何想法,请帮助我。

EN

回答 1

Stack Overflow用户

发布于 2018-06-21 22:52:52

我用这个方法解决了我的问题。谢谢Tanaike!

代码语言:javascript
运行
复制
def data_encoder(text):
    if len(text)>0:
        message = base64.urlsafe_b64decode(text)
        message = str(message, 'utf-8')
        message = email.message_from_string(message)
    return message


def readMessage(content)->str:
    message = None
    if "data" in content['payload']['body']:
        message = content['payload']['body']['data']
        message = data_encoder(message)
    elif "data" in content['payload']['parts'][0]['body']:
        message = content['payload']['parts'][0]['body']['data']
        message = data_encoder(message)
    else:
        print("body has no data.")
    return message
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50876767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档