2017-01-30 101 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裏面。

原來所需要的唯一的解決方法是把這個方法在類文件。