я новичок в python и пытаюсь работать с API Sendgrid и библиотекой datetime:
Чтобы попытаться получить статистику электронной почты, мой код:
import http.client
conn = http.client.HTTPSConnection("api.sendgrid.com")
payload = "{}"
headers = { 'authorization': "Bearer SG.***" }
conn.request("GET", "/v3/stats?aggregated_by=day&start_date=2020-01-14", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Этот код работает и я получаю желаемый вывод, однако я хочу создать это приложение таким образом, чтобы оно работало каждый день через планировщик задач и генерировало отчет без изменения даты начала вручную.
Я пытался:
from datetime import date
today = date.today()
если я печатаю (сегодня), он дает мне точный формат 20120-01-14, но если я позвоню прямо сегодня, он говорит:
today
Out[37]: datetime.date(2020, 1, 14)
Ниже я попытался указать "сегодня" в качестве даты начала, но получил ошибку в формате
import http.client
conn = http.client.HTTPSConnection("api.sendgrid.com")
payload = "{}"
headers = { 'authorization': "Bearer SG.***" }
conn.request("GET", "/v3/stats?aggregated_by=day&start_date=today", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Однако, это дает мне ошибку: {"errors": [{"message": "start_date требуется и должно быть в формате YYYY-MM-DD"} ]}
Что я могу сделать, чтобы вставить start_date для того, чтобы он всегда брал текущую дату, не меняя ее вручную?