我阅读了Salesforce Chatter REST API的文档,并开始在c#中实现代码。 请参阅以下代码:
System.Net.WebRequest req = System.Net.WebRequest.Create(URI);
req.Method = "POST";
req.Headers.Add("Authorization: OAuth " + accessToken);
req.ContentType = "application/x-www-form-urlencoded";
string par =
"fileName=" + fileName +
"&feedItemFileUpload="
+ @"D:\\MyFiles\\NewTextDocument.txt" +
"&desc=" + desc+
"&text=" + text;
byte[] byteArray = Encoding.UTF8.GetBytes(par);
req.ContentLength = byteArray.Length;
Stream dataStream = req.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
System.Net.WebResponse resp = req.GetResponse();
我在回复时遇到错误 远程服务器返回错误:(400)错误请求。
如果我看到错误的响应,我收到以下消息:
请指定要上传的文件。键入文件的路径,或使用“浏览”按钮在本地文件系统中找到它。
我已经定义了文件路径和名称。我在路径字符串之前尝试使用和不使用@符号但是得到相同的错误。如果遗漏了什么,请告诉我。
答案 0 :(得分:2)
您可以轻松使用Fiddler查看正在发生的事情。
您正在发布一个简单的表单,其中fileName
和feedItemFileUpload
就像desc
和text
,换句话说,简单的简单文字 !
您需要做的是将文件作为流发送。
我可以看到您正在使用Hanselman's代码,但这仅适用于文本参数
有关将其用于文件的更多信息,请参阅此答案