首页 > 解决方案 > 如何使用 Python 在 Gmail API 和 JSON 中获取嵌套数据

问题描述

我无法访问 Gmail 的 Python API 中的嵌套值和键。我快接近了,但我不知道如何访问它的值。如何从“主题”和“发件人”部分中提取数据。

        for message in messages:
            msg = service.users().messages().get(userId='me', id=message['id']).execute()
            subject = msg['payload']['headers']
            for values in subject:
                name = values['name'] #This only prints the values "From" and "Subject" by itself not with the actual subject.
                print(values)
                print("\n")

print(values) 返回以下 json 数据(还有几十行,而且计数并不总是相同,所以我不确定硬编码整数是否有帮助。

{'name': 'From', 'value': 'Duolingo <hello@duolingo.com>'}
{'name': 'Subject', 'value': ' Your weekly progress report'}

如何在这两个中仅获取“值”右侧的数据?例如,“您的每周进度报告”?

标签: pythonjsongmail-api

解决方案


添加一个变量 value = values['value'] 应该为您提供该输出的值

看起来您标记的主题实际上是主题的组合,它来自谁以及其他数据的声音,所以我可能会将该变量更改为 email_data

所以生成的代码将是

for values in email_data:
  name = values['name']
  value = values['value']

  print(values)
  print("\n")

推荐阅读