2017-01-30 59 views
0

我正在给Salesforce的REST API的调用。无效的会话ID从Salesforce REST API

不过,我有一个非常奇怪的错误。最初我在VB.NET模块文件中写了这个。一切正常,只要我把方法放在课堂上,我一直在收到Invalid Session ID错误。该错误似乎没有提示代码的哪部分失败。

我使用RestSharp,方便调用到Salesforce的API,而且我知道一个事实,它的工作原理,因为模块文件我能够获取我需要的数据。

我不明白关于的基本原理,它为什么在模块文件中有效,但不在类文件中。

不管怎么说,这里要说的是我放在类文件和模块文件,方便调用代码:

 client = New RestClient(_strURI) 
     request = New RestRequest(Method.POST) 
     request.AddParameter("grant_type", "password") 
     request.AddParameter("client_id", _strClientID) 
     request.AddParameter("client_secret", _strClientSecret) 
     request.AddParameter("redirect_uri", _strRedirectUrl) 
     request.AddParameter("username", _strUserName) 
     request.AddParameter("password", _strPassword & _strSecurityToken) 
     'Dim response As IRestResponse 


     Dim response As IRestResponse = Nothing 

     response = client.Execute(request) 
     'This is the offending line in the class file..it returns back a HTTP 200 yet gives me that Session Invalid error 


     If response.StatusCode <> HttpStatusCode.BadRequest Then 
      token = JsonConvert.DeserializeObject(Of TokenResponse)(response.Content) 


      Dim listViewResults As String = HttpGet(token.instance_url & "/services/data/v38.0/sobjects/Contact/listviews", "") 

我不能确定这是否是权限问题或多个节目错误;因为在这两种情况下,所有认证字符串都是相同的。目前我已经将其硬编码为指向测试配置文件。所以我无法确定我究竟做错了什么?

任何帮助就足够了。

回答

0

愚蠢的我,

不管怎么说后不久,我贴这个,我就去了办公室外面快步走。原来是一个用词不当。

我曾在模块文件中定义的相同HttpGet方法和忘记到复制并粘贴到类文件。当我实际穿过它时,它扔了一个Exception里面。

原来所需要的唯一的解决方法是把这个方法在类文件。