Как получить вложенные данные в Gmail API и JSON с помощью Python - PullRequest
0 голосов
/ 12 января 2020

У меня проблемы с доступом к вложенным значениям и ключам в API Gmail для Python. Я близко, но я не знаю, как получить доступ к значениям этого. Как извлечь данные из разделов «Тема» и «От».

        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")

Печать (значения) возвращает следующие данные json (есть еще десятки строк, и они не всегда одинаковы) рассчитывать, поэтому я не уверен, что жестко запрограммированное целое число поможет.

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

Как получить только данные справа от «значения» в обоих из них? Например, «Ваш еженедельный отчет о прогрессе» «

1 Ответ

3 голосов
/ 12 января 2020

Добавление переменной value = values['value'] должно дать вам значение из этого вывода

Похоже, то, что вы пометили как субъект, на самом деле является комбинацией субъекта, от кого он, и по звукам его других данных, так что Я мог бы изменить эту переменную на email_data

, чтобы результирующий код был

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

  print(values)
  print("\n")
...