#python #sendgrid
#python #sendgrid
Вопрос:
Я новичок в Python, поэтому мне трудно понять, как получить доступ к определенному элементу в почтовом объекте. Я создаю объект Mail в функции и возвращаю его:
data = getMessage()
Когда я это делаю print (data)
, это дает мне следующее:
{
'from': {
'email': 'my@email.com'
},
'subject': 'My Subject Line',
'personalizations': [{
'to': [{
'email': 'another@email.com'
}]
}],
'content': [{
'type': 'text/plain',
'value': 'http://localhost/some-url?t=ab99ceccf4ab4f97b1d014bb5e89707c'
}]
}
Теперь я могу сделать что-то вроде print (data.subject)
, и это дает мне My Subject Line
, но я не могу понять, как добраться до value
свойства content
. Я просто хочу распечатать URL-адрес на консоли для тестирования, поэтому мне не нужно ждать, пока придет электронное письмо.
Теперь я просто печатаю его изнутри самой функции, потому что это простой способ, но я все равно хотел бы знать, как получить его из объекта Mail.
Ответ №1:
Содержимое представляет собой список, содержащий только 1 запись.
Вы можете добраться до него, выполнив:
data["content"][0]["value"]
или, если вы не уверены, есть ли только 1 запись:
for content in data["content"]:
content["value"]
Комментарии:
1. Спасибо Уолтеру. Я пробовал подобные вещи, но даже с вашим кодом я в конечном итоге получаю
TypeError: 'Mail' object is not subscriptable
. Я получаю одну и ту же ошибку с обоими вариантами.
Ответ №2:
for content in data["content"]:
content["value"]
Комментарии:
1. Небольшое объяснение сделало бы этот ответ только для кода лучше.