Get certified for free when you join Fabric Data Days 2026 and dive into Fabric, Power BI, SQL, AI, and other essential data skills.
Join nowData Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more
We have an application that just made REST API available.
We want to extract data from here and make nice dashboards in PowerBI. So the final goal for this is to be realtime.
Now the token for the REST API expires every 60 minutes. So we made a python script that fetches the token. The final output is a json file. How can i feed this output directly in powerbi instead of saving the file to my local workstation?
Sample Code:
import ssl
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
import requests.auth
import json
from json import dumps, loads
import logging
import argparse
import sys
#install python-requests
#from swagger import Swagger
# Disable all SSL Cert checking
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
################################################################################
# INPUT PARAMTERS
CLIENT_ID="xxxxxxx"
CLIENT_SECRET="xxxxxx"
CTF_URL="https://www.cxxx.com"
PROJECT_ID="xxxxxx" # you can use trackerID here as well
OUT_DIR="C:\RestApi Results"
################################################################################
SCOPE="urn:ctf:services:ctf urn:ctf:services:soap60"
#grant_type=password&client_id=api-client&scope=$scope&username=$username&password=$password" $site_url/sf/auth/token
def getToken():
try:
post_data = {"grant_type": "password"
,"client_id": "api-client"
,"scope": SCOPE
,"username": CLIENT_ID
,"password": CLIENT_SECRET}
response = requests.post(CTF_URL + "/sf/auth/token", data=post_data, verify=False)
token_json = response.json()
return token_json["access_token"]
except (RuntimeError, TypeError, NameError, KeyError):
print "Invalid Token"
sys.exit(1)
def main():
url = CTF_URL+"/ctfrest/tracker/v1/artifacts?containerid="+PROJECT_ID+"&includeIconLinks=false&sortBy=-lastModifiedDate&offset=0&count=-1&fullPageInfo=true"
#url = CTF_URL+"ctfrest/foundation/v1/projects/"+PROJECT_ID
header = {"Authorization": "Bearer " + getToken() , "Content-Type": "application/json","Accept": "application/json", "If-Match":"*"}
response = requests.get(url, verify =False, headers=header)
print response.json()
with open(OUT_DIR+'data.json', 'w') as outfile:
json.dump(response.json(), outfile)
if __name__ == '__main__':
main()
@Anonymous,
You may take a look at Using Python in Power Query Editor and research The Advanced Editor.
We have an application that just made REST API available.
We want to extract data from here and make nice dashboards in PowerBI. So the final goal for this is to be realtime.
Now the token for the REST API expires every 60 minutes. So we made a python script that fetches the token. The final output is a json file. How can i feed this output directly in powerbi instead of saving the file to my local workstation?
Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.
Check out the May 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 23 | |
| 23 | |
| 20 | |
| 18 | |
| 14 |
| User | Count |
|---|---|
| 58 | |
| 51 | |
| 40 | |
| 30 | |
| 24 |