下一页描述了通过 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();
过去我已经能够让批量 API 执行此操作,但我更喜欢更直接的 REST API(而不是轮询以等待作业和批处理完成)。
有人搞定了吗?
最佳答案
这没有多大意义,但我已经解决了这个问题。
首先,文档中存在错误,因为示例中的时间格式实际上不起作用,但使用 2013-11-20T00:00:00Z 作为时间格式确实有效....但那不是'主要障碍。
事实证明(在 http://fiddler2.com 使用 Fiddler - 谢谢你们!!)我注意到在发送到 Web 服务的实际字符串中插入了无关字符。
我首先通过使用“true”作为第二个参数调用 Uri(String, Boolean) 构造函数来创建 Uri,然后删除“更新”段和 ? 之间的前向斜杠
如果有人可以解释转义?用于创建 Uri 的字符串参数中的字符,这将非常有用,因为文档似乎表明这对于 .Net Framework 4.0 应该已过时,但事实显然并非如此。
干杯!
克雷格
关于c# - 使用 REST API 从 Salesforce.com 调用 "Get Updated"记录时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20162336/