使用活动监视器 API 和 python 更新订阅者自定义字段

问题描述

我已经尝试尽我所能让它发挥作用。我已经浏览了活动监视器 API 文档,并在互联网上搜索了我能找到的所有可能的文章。我没有找到一个用于更新订阅者记录的代码示例。我可以拿到记录。我只是无法更新它,我希望有人能帮我弄清楚我做错了什么。谢谢!

from createsend import *

def GetSubscribers(token,refresh_token,list_id):
    auth = {
        'access_token': token,'refresh_token': refresh_token}
    user_email = 'email@example.com'
    subscriber = Subscriber(auth,list_id,user_email).get()

    for i in subscriber.CustomFields:
        for n in i.__dict__.keys():
            print(i.__dict__[n])
            if i.__dict__[n] == "campaign_code":
                print(n,i.__dict__[n])
                print(i.__dict__["Value"])
                campaign_code = i.__dict__["Value"]
                new_campaign_code = campaign_code + "_REPLIED"
                print(new_campaign_code)

                custom_fields = [
                    {"Key": i.__dict__[n],"Value": new_campaign_code}]
                Subscriber.update(user_email,"Subscriber",custom_fields,True,"Yes")

params = {"email": self.email_address}

AttributeError: 'str' 对象没有属性 'email_address'

解决方法

我想通了。这是使用 createdend python 包装器更新订阅者的正确结构:

custom_fields = [{"Key": key,"Value": value}]

subscriber = Subscriber(auth,list_id,user_email).update( new_user_email,"Subscriber",custom_fields,True,"Yes")

这个我花了很多时间才弄明白。我希望这篇文章可以帮助任何试图在活动监视器中更新订阅者的人节省一些时间。