QuickBooks OAuth API(401)未经授权

时间:2016-04-22 15:41:47

标签: asp.net authentication oauth quickbooks quickbooks-online

以下是我使用的OAuth库:https://github.com/danielcrenna/oauth

我获得令牌,秘密和realmId(公司ID)就好并存储它们,但当我去做一个简单的请求时,我得到(401)未经授权。

以下是我使用的代码:

        var rq = new OAuthRequest
        {
            Method = "GET",
            Type = OAuthRequestType.ProtectedResource,
            SignatureMethod = OAuthSignatureMethod.HmacSha1,
            ConsumerKey = ConfigurationManager.AppSettings["ConsumerKey"],
            ConsumerSecret = ConfigurationManager.AppSettings["ConsumerSecret"],
            Token = requestToken,
            TokenSecret = requestTokenSecret,
            RequestUrl = "https://quickbooks.api.intuit.com/v3/company/" + realmId + "/query?query=select%20%2A%20from%20CompanyInfo&minorversion=4",
            Version = "1.0",
        };

Auth标题:

OAuth oauth_consumer_key="****",oauth_nonce="6su4ljd2is5bxns4",oauth_signature="0taFXiouzOkpK258tz%2Fc%2F2fVQ0c%3D",oauth_signature_method="HMAC-SHA1",oauth_timestamp="1461339515",oauth_token="****",oauth_version="1.0"

我无法在错误中找到任何其他详细信息,我只是得到了#34; 401未经授权。"我如何得到这个请求?

1 个答案:

答案 0 :(得分:1)

Oauth对标题的写法非常严格。为什么不使用Intuit已经提供的一个库?或使用API​​资源管理器查看标题并与您的请求标题进行比较?

oauth标头参数的顺序很重要,版本不是最后一个。请参阅本指南。

https://developer.intuit.com/docs/0050_quickbooks_api/0010_your_first_request/rest_essentials_for_the_quickbooks_api