Entity
Entity

Reputation: 8202

QuickBooks OAuth API (401) Unauthorized

Here is the OAuth library I'm using: https://github.com/danielcrenna/oauth

I'm getting the token, secret and realmId (company id) just fine and storing them, but when I go to do a simple request, I get (401) Unauthorized.

Here's the code I'm using:

        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",
        };

And the Auth header:

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"

I can't find any other details in the error, I'm just getting "401 Unauthorized." How do I get this request to go through?

Upvotes: 0

Views: 443

Answers (1)

Jarred Keneally
Jarred Keneally

Reputation: 1931

Oauth is pretty strict in how the header is written. Why not use one of the Libraries already provided by Intuit? or use the API Explorer to view the header and compare to your request header?

The order of the oauth header parameters matter, and version is not the last one. See this guide.

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

Upvotes: 1

Related Questions