Ошибка неверного запроса от Python при использовании подстановки при вызове API SendGrid - PullRequest
0 голосов
/ 01 апреля 2019

Я создал шаблон электронной почты в SendGrid, и у меня первая строка в электронном письме как Hi -name-

Я хочу использовать подстановку в разделе персонализации API, чтобы заменить -name- в первой строке электронного письма, например, Привет Тед.

Я закодировал эту функцию в Python 3.7, и когда я звоню по электронной почте, не добавляя подстановку, она возвращает успех, но когда я добавляю подстановку, она возвращает

python_http_client.exceptions.BadRequestsError: HTTP Error 400: Bad Request 

Код Python:

import sendgrid
from sendgrid.helpers.mail import Email, Mail, Personalization, Substitution
import urllib
import json

email=test@test.com
name="Ted"


def personalize(email, name):
    personalization = Personalization()
    personalization.add_to(Email(email, name))
    personalization.add_substitution(Substitution("-name-", name))
    return personalization


def main():
    sg = sendgrid.SendGridAPIClient(apikey="****")
    mail = Mail()
    mail.from_email = Email("noreply@test.com", "Team")
    mail.template_id = "****"
    mail.add_personalization(personalize(email, name))

    try:
        response = sg.client.mail.send.post(request_body=mail.get())
        print(response)
    except urllib.error.HTTPError as e:
        print(e.read())


main()
...