Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
I am attempting to connect QuickBooks Online to Power BI using the API with OAuth2 authentication. I have tried several methods to get the data, including:
Out of these methods, the Python script has been the most successful. However, I'm facing an issue where I need to manually change the access token every time I want to refresh the data.
I've created a function to fetch a new access token, but when I replace the static access token with this function in my data script, it doesn't work. I have also tried implementing this solution in the Web connector, but without any success.
Has anyone encountered a similar issue or could provide guidance on how to automate the access token refresh process within Power BI? Any help or suggestions would be greatly appreciated.
Thank you!
Hi @novelmayank ,
May I ask if you were able to successfully connect to QuickBooks via the method provided by @Aryna ?
Hi @novelmayank , I used this Power BI connector and didn't have any issues: https://vidi-corp.com/connect-quickbooks-online-to-power-bi/
Some case studies are described there that might be helpful
Best Regards
Hi @novelmayank , I used this Power BI connector and didn't have any issues: https://vidi-corp.com/connect-quickbooks-online-to-power-bi/
Some case studies are described there that might be helpful
Hi @novelmayank ,
You can refer the following links to get it:
Refresh the access token in Power BI embedded analytics | Microsoft Learn
Solved: Get token function for API request with dynamic ac... - Microsoft Fabric Community
Here is a quick summary of steps to take:1. Create static connection to your API using "Authorization" header and format it like "Bearer XXXXX" (It seems you have done this already
2. Create function for like this for querying your token.(I am connecting to to PBI rest API in this example: https://login.microsoftonline.com/{{tenant id}}/oauth2/token)
Here is an example of this:
() =>let
body = "grant_type=client_credentials&scope=https://analysis.windows.net/powerbi/api/.default&client_id="&client_id&"&client_secret="&client_secret&"&resource="&resource,
Data =Json.Document(Web.Contents("https://login.microsoftonline.com/"&tenant_id&"/oauth2/token",[Headers=[#"Content-Type"="application/x-www-form-urlencoded"],Content=Text.ToBinary(body)])),
access_token = Data[access_token]
in
access_token
Code explained:
1st We define what kind of body our request has
2nd connecting to data using web.contents. Here important thing is Headers3rd get token
Note: I am using parameters in my code for sensitive data. I recommend this for added security and dynamic options3. Replace your static token used in step 1 with the function name. E.g. DynamicToken()
Here is an exellent video about this where instead of service principal login (like in my case) they are using username and password: https://youtu.be/N8qYRSqRz84
Best Regards
Check out the July 2025 Power BI update to learn about new features.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
User | Count |
---|---|
6 | |
6 | |
3 | |
2 | |
2 |
User | Count |
---|---|
6 | |
5 | |
4 | |
4 | |
3 |