我正在使用eloqua 10。
我需要使用aspx网页上的rest api在eloqua中创建Email。但是我得到了404 Bad Request
。
下面给出了我尝试的POST请求的代码示例。
string authenticateStr = eloquainstance + @"\" + username + ':' + password;
byte[] bytesToEncode = Encoding.UTF8.GetBytes(authenticateStr);
string encodedText = Convert.ToBase64String(bytesToEncode);
string requrl = "/assets/email";
string requestBody = "<subject>Test subject</subject>" +
"<senderName>Ajai Test</senderName>" +
"<senderEmail>amani@suyati.com</senderEmail>" +
"<emailGroupId>9</emailGroupId>" +
"<htmlContent>This is a test email templete created trough rest api.This is for testing purpose only</htmlContent>"+
"<type>Email</type>" +
"<name>Email By api</name>";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(baseurl + requrl);
request.Headers.Add("Authorization", "Basic " + encodedText);
request.Accept = "application/xml";//"application/x-www-form-urlencoded";
request.Method = "POST";
request.ContentType = "application/xml";
request.ContentLength = requestBody.Length;
//write body to text
byte[] body = System.Text.Encoding.UTF8.GetBytes(requestBody);
Stream dataStream = request.GetRequestStream();
dataStream.Write(body, 0, requestBody.Length);
dataStream.Close();
HttpWebResponse webResponse = (HttpWebResponse)request.GetResponse();
如果我的代码有任何问题,请纠正我。
任何人都可以尝试使用eloqua rest api发布帖子,如果可以的话,你可以共享一个示例代码,以便从c#向eloqua发出POST请求。任何帮助都可以理解。
答案 0 :(得分:0)
不确定你是否已经开始工作了,因为你问过这个问题已经过了一段时间了,但是你可以找到一整套样本来使用eloqua的topliners网站:
http://topliners.eloqua.com/community/code_it/blog/2012/10/08/eloqua-rest-api--open-source-c-samples
查看您的代码我认为您可能需要转义html正文
我还会考虑编写一个类来表示电子邮件对象,然后使用restsharp来简化序列化请求和处理响应的过程。
还使用fiddler试验测试请求。