StreamSend API Blast,发送电子邮件



我需要使用 StreamSend API 来发送电子邮件,这里是流发送 API 参考

我正在使用适当的凭据将网络请求作为帖子发送到以下URL

https://app.streamsend.com/audiences/2/blasts.xml

StringBuilder sb = new StringBuilder();
           sb.Append("https://app.streamsend.com/audiences/2/blasts.xml");
            Uri uri = new Uri(sb.ToString());
            HttpWebRequest request = WebRequest.Create(uri) as HttpWebRequest;
            request.ContentType = "application/xml";
            StringBuilder strMail= new StringBuilder();
            strMail.Append("<blast> ALL from api..... </blast>");
        byte[] data = Encoding.ASCII.GetBytes(strMail.ToString());
        Stream input = request.GetRequestStream();
        input.Write(data, 0, data.Length);
        input.Close();
        HttpWebResponse nsResponse = (HttpWebResponse)request.GetResponse();

我遇到了错误#422或500。 我将不胜感激任何帮助。

有几件事。首先,看起来您正在尝试执行 POST 请求(您正在请求流中发送数据)。如果你真的想要一个POST请求,你必须设置request.Method = "POST";

此外,如果需要 XML 响应,则需要设置 Accept 标头。根据您列出的文档,您需要: request.Accept = "application/xml";

您还需要将登录 ID 添加到请求中。我不确定这是怎么做到的。也许在这样的request.Credentials属性中:

request.Credentials = new NetworkCredential("login_id", "your_key_here");

最后,如果您所做的只是分配字符串,则没有理由使用 StringBuilder。您可以编写,例如:

string urlString = "https://app.streamsend.com/audiences/2/blasts.xml" 
Uri uri = new Uri(urlString);

byte[] data = Encoding.ASCII.GetBytes("<blast> ALL from api..... </blast>");

相关内容

  • 没有找到相关文章

最新更新