我的任务是将我们自己开发的多客户端CRM与Salesforce.com集成。我将编写一个基于服务器的服务,将来自我们每个客户CRM数据存储的信息推送到Salesforce。我想使用SFDC REST API,但可以根据需要使用SOAP API。将Salesforce.com与.NET Server C集成的最佳安全方法#
我很努力去理解最好的安全机制。由于解决方案将基于服务器,因此连接到SFDC时不需要用户交互。我们的服务器需要能够建立到SFDC的安全连接,而无需用户提供其登录凭证。
到目前为止,我已经尝试了REST API和OAuth2.0。我已经设置了一个测试SFDC帐户并在其中配置了我们的应用程序,获取了使用者密钥,密钥和回调函数uri。这一切正常,我的回调页面收到一个安全令牌。我的回调页面使用提供的令牌如下:
string rc = "";
try
{
string uri = "https://eu2.salesforce.com/services/data/v20.0/sobjects/";
System.Net.WebRequest req = System.Net.WebRequest.Create(uri);
req.Method = "GET";
req.Headers.Add("Authorization: Bearer " + token);
System.Net.WebResponse resp = req.GetResponse();
System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream());
rc = "code=" + code + ", response=" + sr.ReadToEnd().Trim();
}
catch (Exception ex)
{
rc = "45435465 Token=" + token + ", err=" + ex.Message;
}
return rc;
麻烦的是,每次我跑这个时候我收到SFDC 401(未授权)的回复,即使我路过SFDC提供的安全令牌。
REST API是否是像这样的“无人值守”访问的正确方法,任何人都可以建议我在代码中做错了什么,或者提供关于如何使其工作的智慧词汇?
非常感谢。