【问题标题】:Send a broadcast e-mail in Aweber using .NET API使用 .NET API 在 Aweber 中发送广播电子邮件
【发布时间】:2016-09-12 17:28:26
【问题描述】:

我想使用 Aweber .NET API 发送广播电子邮件。我可以进行身份​​验证,并且可以检索订阅者列表。

当我创建广播时,它会成功创建(请求不会失败),并且我会返回一个 JSON,其中包含有关我刚刚创建的广播的信息。但是,在 aweber 帐户中,我访问了广播,但我没有看到任何关于我刚刚使用 API 创建的广播的信息!它不是发送的,也不是预定的或草稿的。它根本不存在。

这是我用于创建广播​​的代码:

string endpoint = string.Format("https://api.aweber.com/1.0/accounts/{0}/lists/{1}/broadcasts", account_id, list_id);

Request request = new Request
{
      oauth_consumer_key = consumerKey,
      oauth_consumer_secret = consumerSecret, 
      oauth_token = token,
      oauth_token_secret = api.OAuthTokenSecret
};

SortedList<string, string> parameters = new SortedList<string, string>();

parameters.Add("click_tracking_enabled", "True");
parameters.Add("is_archived", "True");
parameters.Add("notify_on_send", "True");
parameters.Add("body_text", "xxxxx");
parameters.Add("subject", "yyyyyy");

request.Build(parameters, endpoint);
WebClient client = new WebClient();

client.Headers["Content-type"] = "application/x-www-form-urlencoded";

string str = string.Empty;

str = client.UploadString(endpoint, request.Parameters);

执行后str字符串有以下内容:

如您所见,“sent”属性为null,所以基本上没有发送。

谢谢。

【问题讨论】:

    标签: c# rest email broadcast aweber


    【解决方案1】:

    我找到了解决方案。广播需要安排。这是代码:

    Broadcast broadcast = JsonConvert.DeserializeObject<Broadcast>(str);
    
    endpoint = endpoint + string.Format("/{0}/schedule", broadcast.broadcast_id);
    
    Request new_request = new Request()
    {
            oauth_consumer_key = consumerKey,
            oauth_consumer_secret = consumerSecret,
            oauth_token = token,
            oauth_token_secret = api.OAuthTokenSecret
    };
    
    SortedList<string, string> new_parameters = new SortedList<string, string>();
    
    new_parameters.Add("scheduled_for", DateTime.UtcNow.ToString("o"));
    
    new_request.Build(new_parameters, endpoint);
    
    WebClient new_client = new WebClient();
    
    new_client.Headers["Content-type"] = "application/x-www-form-urlencoded";
    
    str = new_client.UploadString(endpoint, new_request.Parameters);
    

    【讨论】:

      猜你喜欢
      • 2019-12-23
      • 1970-01-01
      • 1970-01-01
      • 2011-02-06
      • 1970-01-01
      • 2012-03-22
      • 2020-03-02
      • 2018-01-26
      • 2012-08-13
      相关资源
      最近更新 更多