Hi, I am new to this site. I am in a pinch here and need to get this figured out quickly for a customer of mine. I am designing a simple site that will include a custom sign-up box for a Constant Contact newsletter. This requires that I use their API, which I have never had to do before. I found a post that included the necessary vb.net code, but I am having some problems with it. I am currently getting an error 400 (Bad request). The error is being thrown on line 33 but I am not sure that that is where my problem is. I have done some research on what the problem could be and it seems to be an error in the info I am sending to the server. That is why I included so much code. I would appreciate any help or direction anyone could offer. Thanks in advance.
My Code for the section in question:
'Setup your variables Dim sUsername As String = "********" Dim sPassword As String = "********" Dim sUri As String = "http://api.constantcontact.com/ws/customers/" & sUsername & "/activities" Dim sListUri As String = "http://api.constantcontact.com/ws/customers/" & sUsername & "/lists/1" 'If you have more than one list, change this number to whichever list you're targeting Dim sAPIKey As String = "684f5567-b3b9-455b-b266-a759a2d9ecb7" 'Setup an HttpWebRequest to send the data Dim addresss As New Uri(sUri) Dim request As HttpWebRequest = TryCast(WebRequest.Create(addresss), HttpWebRequest) request.Credentials = New NetworkCredential((sAPIKey & "%" & sUsername), sPassword) request.Method = "POST" request.ContentType = "application/x-www-form-urlencoded" 'Build an encoded string of the data to pass to Constant Contact 'More info on this can be found at http://developer.constantcontact.com/doc/activities Dim data As New StringBuilder() data.Append("activityType=" + HttpUtility.UrlEncode("SV_ADD", Encoding.UTF8)) data.Append("&data=" + HttpUtility.UrlEncode(("Email Address,Email Type,Name,Address,City,Zip Code" & Chr(10)), Encoding.UTF8)) data.Append(HttpUtility.UrlEncode((TextBox5.Text & ",HTML," & TextBox1.Text & "," & TextBox2.Text & "," & TextBox3.Text & "," & TextBox4.Text), Encoding.UTF8)) data.Append("&lists=" + HttpUtility.UrlEncode(sListUri)) 'The "guts" of the code to execute the request and return a response 'The response (returned as 'strResponse') will be XML. You can parse this for status messages if you like, or just ignore it. Dim byteData As Byte() = UTF8Encoding.UTF8.GetBytes(data.ToString()) Dim st As String = String.Empty request.ContentLength = byteData.Length Using postStream As Stream = request.GetRequestStream() postStream.Write(byteData, 0, byteData.Length) End Using Using response As HttpWebResponse = TryCast(request.GetResponse(), HttpWebResponse) Dim reader As New StreamReader(response.GetResponseStream()) st = reader.ReadToEnd() End Using End Sub