以下页面介绍了通过RESTful API从SFDC获取更新项列表的过程。
http://www.salesforce.com/us/developer/docs/api_rest/Content/dome_get_updated.htm
我知道我的逻辑对于访问对象等完全正常,所以它看起来不像我正在验证或管理响应,但是当访问URL时我得到“404-Not Found”根据下面的代码(为了本例的目的而简化)。
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("https://ap1.salesforce.com/services/data/v29.0/sobjects/Account/updated/?start=2013-11-20T00:00:00+00:00&end=2013-11-24T00:00:00+00:00");
request.Headers.Add("Authorization", "Bearer " + sessionId);
var response = request.GetResponse();
var datastream = response.GetResponseStream();
var reader = new StreamReader(datastream);
var content = reader.ReadToEnd();
过去我已经能够让Bulk API执行此操作,但我更喜欢更直接的REST API(而不是轮询以等待作业和批处理完成)。
任何人都这样做了吗?
答案 0 :(得分:0)
这没有多大意义,但我已经解决了这个问题。
首先,文档中存在错误,因为示例中的时间格式实际上并不起作用,但是使用2013-11-20T00:00:00Z作为时间格式确实起作用....但那不是这是主要障碍。
事实证明(在http://fiddler2.com使用Fiddler - 谢谢大家!!)我注意到在发送到Web服务的实际字符串中插入了无关的字符。
我首先创建一个Uri,调用Uri(String,Boolean)构造函数,将“true”作为第二个参数,然后删除“updated”段和?
之间的fwd斜杠如果有人能解释逃脱?字符串参数中的字符用于创建Uri,这将非常有用,因为文档似乎表明这应该是.Net Framework 4.0的过时,但这似乎显然不是这样。
干杯!
克雷格