如何通过rest api向Eloqua发帖?

时间:2014-03-25 07:19:43

标签: c# asp.net rest eloqua

我正在使用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请求。任何帮助都可以理解。

1 个答案:

答案 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试验测试请求。