Link to plugin page: https://zeroqode.com/plugin/quickbooks-authenticate-1545877666625x794445319480279000
This Quickbooks plugin version makes it possible for a user to use 1 company account and stay authenticated for 100days at a time.
You will need a developer account with Quickbooks in order interact with the Plugin: https://developer.intuit.com/app/developer/qbo/docs/get-started
Sign up to the Quickbooks Developer Website.
Once your logged in, click 'Dashboard'.
In Dashboard you will find all your apps
Click on 'Create an app' to create an application.
Select the platform you want to develop for (by default will be only one type "Quickbooks online and payments")
Insert a new app name and select scopes from the dropdown for it. (Depending on your requirements the scopes can vary)
Provide a name to your app and click "Create app"
Navigate to the 'Keys' tab, in BOTH 'Redirect URI' sections add your app's redirect URL.
Your Redirect URL in most cases will be, https://_your-app_.bubbleapps.io/api/1.1/oauth_redirect
Navigate to the 'Dashboard' tab, find Resources section, and click on OAuth Playground, see in image below.
Select your app form the list.
Select all scopes that you need, then click on the "Get authorization code" button.
Next will be opened a new page where you will be asked to Authorize Intuit to securely share your data, click Connect.
You will be redirected back, after that click "Get tokens" button.
On the right side will be shown results, select all "Authorziation" key from there, together with "Basic" word, see in example below.
Place your Authorization key into the plugin's settings in your app in first field.
On the same page open section 4, "Refresh access token", and copy the refresh token.
In your Bubble app, go to Data and create new type, call it how you want, (ex: Quickooks Tokens) and added new entry called Old refresh token, where you paste your Refresh Token.
This is how it looks like:
We have to do it just once.
Now create an event in workflow, for example when page is loaded, to GET NEW ACCESS TOKEN, and save results in a custom state, then save REFRESH TOKEN in your data.
Now you don't have to worry about your refresh token, it will be renewed automatically.
Let's take Company Details:
Insert company id which is "Realm ID" , you can get on the same page where you got refresh token, find it on section 2, see example below:
2. Next we need to get access token, for that, in Authorization field select from API provider, "GET NEW ACCESS TOKEN" and select access_token after.
You will notice the word "Bearer" there, leave it there and insert access token after it !