You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python使用createsend库对接Campaign Monitor时无法解析clicks返回数据的问题咨询

问题根因

你遇到的返回异常是两个实操层面的问题,和Campaign Monitor接口权限、密钥有效性无关:

  1. 不带括号调用campaign1.clicks时,拿到的是Campaign类挂载的方法本身,不是执行请求后的返回值,所以会打印成绑定方法的内存对象标识
  2. 带括号调用campaign1.clicks()执行成功后,拿到的是createsend库自定义的CreateSendModel实例,这个类没有重写自定义打印逻辑,直接print实例只会显示类的类型标识,不会自动把内部存储的业务数据输出到控制台
    这个自定义类的实现逻辑非常直白:把接口返回的JSON内容全量映射成对象的可访问属性,不是完全封装的黑盒结构。
具体操作步骤

1. 正确执行接口请求

首先确保调用时给方法加上括号,实际发起API请求拿到返回结果对象:

from createsend import *

auth = {'api_key': '你的专属API密钥'}
# 替换成你要查询的目标活动ID
target_campaign = Campaign(auth, '待查询的目标营销活动ID')
# 加括号实际执行请求,拿到点击统计结果对象
clicks_result = target_campaign.clicks()

2. 读取对象内部的结构化数据

因为这个对象没有自定义打印逻辑,你不需要翻文档猜有哪些字段,直接通过两种方式读取数据:

  • 快速导出全量内部存储数据:通过__dict__属性拿到所有接口返回的键值对,这是Python对象自带的属性,存了对象挂载的所有实际数据:
# 拿到全量点击统计的字典格式数据
all_click_data = clicks_result.__dict__
# 此时打印就能看到所有实际统计值,比如总点击、独立点击、退信数等
print(all_click_data)
  • 定向读取指定字段:如果你知道需要的字段名,可以直接通过属性访问,比如:
print("活动总点击数:", clicks_result.TotalClicks)
print("活动独立点击数:", clicks_result.UniqueClicks)
print("关联退订点击数:", clicks_result.Unsubscribes)

3. 适配BI工具上传的格式转换

你日常使用R对数据框结构比较熟悉,可以直接把拿到的结构化数据转成pandas数据框,导出为通用CSV格式上传内部BI:

import pandas as pd

# 基础统计数据转成单行数据框
stats_df = pd.DataFrame([all_click_data])
# 导出CSV,编码适配中文BI工具的读取要求
stats_df.to_csv("campaign_click_stats.csv", index=False, encoding="utf-8-sig")

# 如果需要拉取逐次点击的明细数据,可以通过clicks方法的分页参数拉取全量明细
# 拉取第1页、每页100条的点击明细
detail_result = target_campaign.clicks(page=1, page_size=100)
# 明细数据存在Results属性中
click_detail_df = pd.DataFrame(detail_result.Results)
click_detail_df.to_csv("campaign_click_detail.csv", index=False, encoding="utf-8-sig")
实操注意事项
  • 所有需要发起API请求的接口都是对象挂载的方法,必须加括号才会实际执行网络请求,不然拿到的只是方法的引用,和R里调用自定义函数必须写函数名加括号的逻辑一致,只是Python把方法挂在了类实例上
  • 访问字段时如果报“属性不存在”的错误,先打印__dict__里的实际键名,老版本库的字段名存在大小写差异,不要硬套文档上的字段名做猜测
  • 之前代码里的campaign_ids = cs.clients()属于冗余赋值,不影响运行,但没有实际作用,可以删除减少代码干扰

内容的提问来源于stack exchange,提问作者jefflmp585

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.27 23:15:00