Получение данных из createsend Campaign Monitor на Python
Я пытаюсь использовать библиотеку createsend в python для извлечения данных из Campaign Monitor о кампаниях компании, чтобы я мог загрузить их в их инструмент бизнес-аналитики (у которого, конечно же, нет коннектора ...).
Предупреждение: не очень знаком с питоном (R - моя домашняя база)
Пока у меня есть список клиентов, а также список их кампаний с идентификатором кампании, чтобы я мог выбрать конкретную.
from createsend import *
auth = {'api_key': 'company's API key'}
cs = CreateSend(auth)
clients = cs.clients()
campaign_ids = cs.clients()
for cl in clients:
print("Client: %s" % cl.Name)
client = Client(auth, cl.ClientID)
print("- Campaigns:")
for cm in client.campaigns():
print(" - %s" % cm.Subject)
print(" - %s" % cm.CampaignID)
campaign1 = Campaign(auth, 'campaign ID of interest')
print(campaign1.clicks)
Это возвращает
<bound method Campaign.clicks of <createsend.campaign.Campaign object at 0x000001B04F405EC8>>
Как мне получить доступ к данным, которые находятся здесь? Мне очень трудно найти подходящую документацию, и когда я запускаю команду "help", большая часть помощи прерывается. Я использую Spyder, если это полезно (как я уже сказал, домашняя база - это R, поэтому у меня есть кое-что, с чем я мог бы повозиться с моделированием)
Спасибо за чтение!
2 ответа
Чтобы добавить к приведенному выше ответу, вы также можете добавить параметры для
_get
params = {
"date": date,
"page": page,
"pagesize": page_size,
"orderfield": order_field,
"orderdirection": order_direction
}
response = campaign1._get(campaign1.uri_for("opens"), params=params)
Вы можете обратиться к этой странице:
https://github.com/campaignmonitor/createsend-python/blob/master/lib/createsend/campaign.py
Хорошо, если кто-то столкнется с этим в будущем, я надеюсь, что смогу сэкономить вам время. Это было моим решением:
summary1 = json.loads(campaign1._get(campaign1.uri_for("summary")))
Теперь у меня есть объект с классом «dict», который я могу преобразовать в .csv и выгружать данные куда захочу.
Строка ._get была спрятана внутри функции «summary()» ... Я не уверен, ошибка ли это или работает так, как задумано, но это было чрезвычайно сложно понять из документации.
Удачи, если вы найдете это, и я надеюсь, что это сэкономит вам время!