SalesForce REST API中的会话ID无效

时间:2017-01-30 06:34:11

标签: vb.net rest salesforce restsharp

我正在调用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", "")

我不确定这是一个许可问题还是更多的编程错误;因为在这两种情况下所有的认证字符串都是相同的。目前,我已将其硬编码为指向测试配置文件。所以我无法确定我到底做错了什么?

任何帮助都足够了。

1 个答案:

答案 0 :(得分:0)

愚蠢的我,

无论如何,在我发布这篇文章后不久,我去了办公室外走了一圈。结果是用词不当。

我在模块文件中定义了相同的HttpGet方法,并且忘记了将其复制并粘贴到类文件中。当我真正介入它时,它在里面扔了一个Exception

原来唯一需要修复的方法是将该方法放入类文件中。