Welcome to the Intuit Developer's Java testing SDK.
Prerequisites
First Use Instructions
Running the app
Project Structure
• Latest version of Java - This sample uses Java 1.7
• Maven
• Apache Tomcat or any webserver (the sample is configured to run on port 8080, if you are using a different port number, please update the code accordingly)
• For Oauth implementation, this sample uses the Java signpost library (https://code.google.com/p/oauth-signpost/)
• Developer.intuit.com account
• An app on developer.intuit.com and the associated app token, consumer key, and consumer secret.
• Clone the GitHub repo to your workspace
Note: This sample is using the sandbox environment by default. So, you need to use the development tokens of your app to run this sample. If you want to switch to production, please make sure that you change the qbo_url in app.properties file inside OauthSample folder to quickbooks.api.intuit.com from sandbox-quickbooks.api.intuit.com. Also, make sure that you configure the sample app to use prod tokens instead of development tokens.
• Configure the app tokens: Go to your app on developer.intuit.com and copy the OAuth Consumer Key and OAuth Consumer Token from the keys tab. Add these values to the app.properties file in our OauthSample folder.
• Build the code using mvn install (either from IDE or from command prompt)
• Deploy the generated war file to the webserver.
Once the sample app code is on your computer, follow the steps below to run the app:
• Launch the app - http://localhost:8080/OauthSample
• Connect your app to Quickbooks, by clicking on ‚”Connect to QuickBooks” button and follow the instructions on the screen.
• After successfully connecting the app to QuickBooks, you can view the realmID, Oauth token and Oauth secret in your server logs.
• You will be redirected to the findallcustomers.jsp that makes a call to the QBO Customer endpoint to read a customer record (by Id).
• RequestTokenServlet.java: Servlet to trigger the Oauth flow, calls the request token endpoint. Response is sent to Oauth callback URL
• AccessTokenServlet.java: This is the OauthCallback URL as configured in app.properties. Reads the params from HttpSession and calls the access token endpoint to retrieve access token and secret
• OauthUtils.java : Reads the properties file
• app.properties : Configure the consumer key, secret, Oauth callback URL and QBO URL in this file
• index.jsp: Contains the code for adding "Connect to QuickBooks" button.
• connect.jsp: Close the Oauth popup and redirect to findallcustomers.jsp
• findallcustomers.jsp: Code needed for calling the QBO Customer endpoint to retrieve all customers