我无法弄清楚如何使用 API 更新 baseCamp 中的里程碑。我可以做其他所有事情(创建、完成、未完成和删除)。但我坚持更新。我不断收到 406 错误。
HttpWebRequest _request = (HttpWebRequest)WebRequest.Create(myURL);
_request.ContentType = "application/xml";
_request.Accept = "application/xml";
_request.Method = "POST";
_request.ServicePoint.Expect100Continue = false;
_request.Credentials = new NetworkCredential("xxxxMYKEYxxxx", "X");
byte[] byteData = UTF8Encoding.UTF8.GetBytes(RequestData);
_request.ContentLength = byteData.Length;
using (Stream stream = _request.GetRequestStream())
{
stream.Write(byteData, 0, byteData.Length);
}
根据 api,myURL 是正确的:https ://mycompany.basecamphq.com/projects/8040830/calendar_entries/20940505.xml
我的请求数据看起来正确:
<request>
<calendar-entry>
<title>My New Milestone - Renamed</title>
<type>Milestone</type>
</calendar-entry>
</request>
但是,它总是会出现“(406)不可接受”错误
_request.GetResponse();
任何人都可以看到任何刺眼的东西吗?我是新的 REST api 的新手。我可以使用 API 对日历条目做任何事情。我似乎无法弄清楚更新。有任何想法吗?