目前我無法使用C#成功調用API。我附上了一個用Chrome PostMan成功創建的屏幕截圖,儘管我無法用C#複製它。他是我迄今爲止失敗的嘗試。我從服務器得到的迴應如下。任何人都可以看到我做錯了什麼?
非常感謝, 詹姆斯發送xml數據時無法成功調用web api
代碼段
const string xml = "<Envelope><Body> <AddRecipient>...";
var req = (HttpWebRequest)WebRequest.Create(ApiUrl);
var requestBytes = System.Text.Encoding.ASCII.GetBytes(xml);
req.Method = "POST";
req.Headers.Add("Authorization", "Bearer " + token);
req.ContentType = "application/x-www-form-urlencoded";
req.ContentLength = requestBytes.Length;
var requestStream = req.GetRequestStream();
requestStream.Write(requestBytes, 0, requestBytes.Length);
requestStream.Close();
var res = (HttpWebResponse)req.GetResponse(); // Call API
var sr = new StreamReader(res.GetResponseStream(), System.Text.Encoding.Default);
var backstr = sr.ReadToEnd();
sr.Close();
res.Close();
Chrome的郵差
響應來自API回
<Envelope><Body><RESULT><SUCCESS>false</SUCCESS></RESULT><Fault><Request/><FaultCode/><FaultString>Server Error</FaultString><detail><error><errorid>50</errorid><module/><class>SP.API</class><method/></error></detail></Fault></Body></Envelope>
我敢打賭,你有一些關於50意味着什麼錯誤的文檔。 +您正在使用示例xml。我沒有看到你的PostMan示例。 –
我更新了代碼片段。 C#嘗試使用的是我在PostMan中使用的xml。 –
有什麼想法?非常感謝 –