使用REST API从Salesforce.com调用“获取更新”记录时出现问题

时间:2013-11-23 12:31:51

标签: c# rest api salesforce

以下页面介绍了通过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(而不是轮询以等待作业和批处理完成)。

任何人都这样做了吗?

1 个答案:

答案 0 :(得分:0)

这没有多大意义,但我已经解决了这个问题。

首先,文档中存在错误,因为示例中的时间格式实际上并不起作用,但是使用2013-11-20T00:00:00Z作为时间格式确实起作用....但那不是这是主要障碍。

事实证明(在http://fiddler2.com使用Fiddler - 谢谢大家!!)我注意到在发送到Web服务的实际字符串中插入了无关的字符。

我首先创建一个Uri,调用Uri(String,Boolean)构造函数,将“true”作为第二个参数,然后删除“updated”段和?

之间的fwd斜杠

如果有人能解释逃脱?字符串参数中的字符用于创建Uri,这将非常有用,因为文档似乎表明这应该是.Net Framework 4.0的过时,但这似乎显然不是这样。

干杯!

克雷格

相关问题