0

我正在尝试使用python中的createsend库从Campaign Monitor中提取有关公司活动的数据,以便我可以将其上传到他们的商业智能工具(当然,它没有开发连接器......)。

警告:对 python 不太熟悉(R 对我来说是大本营)

到目前为止,我已经获得了我的客户列表,以及带有广告系列 ID 的他们的广告系列列表,因此我可以从中提取一个特定的广告系列。

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

如果我运行print(campaign1.clicks()) 这将返回<class 'createsend.utils.CreateSendModel'>

如何访问此处的数据?我在过去 24 小时内搜索了帮助文件,真的不知道我在访问这些数据时做错了什么。

感谢您的阅读!

4

2 回答 2

0

要添加到上述答案,您还可以为_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

于 2021-04-13T15:11:12.003 回答
0

好的,对于将来遇到此问题的任何人,我希望我可以为您节省一些时间。这是我的解决方案:

summary1 = json.loads(campaign1._get(campaign1.uri_for("summary")))

现在我有一个带有“dict”类的对象,我可以将其转换为 .csv 并将数据上传到我想要的任何地方。

._get 行隐藏在“summary()”函数中...我不确定这是一个错误还是按预期工作,但从文档中很难弄清楚。

祝你好运,如果你找到这个,我希望它可以节省你一些时间!

于 2021-03-28T04:24:30.657 回答