Anónimo
Tenemos una aplicación que acaba de hacer disponible la API REST.
Queremos extraer datos de aquí y crear paneles agradables en PowerBI. Entonces, el objetivo final de esto es que sea en tiempo real.
Ahora, el token de la API REST caduca cada 60 minutos. Así que creamos un script de Python que recupera el token. La salida final es un archivo json. ¿Cómo puedo alimentar esta salida directamente en powerbi en lugar de guardar el archivo en mi estación de trabajo local?
Código de muestra:
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()
v-chuncz-msft
@Anónimo,
Puede echar un vistazo a Uso de Python en Power Query Editor e investigar el Editor avanzado.
Anónimo
Tenemos una aplicación que acaba de hacer disponible la API REST.
Queremos extraer datos de aquí y crear paneles agradables en PowerBI. Entonces, el objetivo final de esto es que sea en tiempo real.
Ahora, el token de la API REST caduca cada 60 minutos. Así que creamos un script de Python que recupera el token. La salida final es un archivo json. ¿Cómo puedo alimentar esta salida directamente en powerbi en lugar de guardar el archivo en mi estación de trabajo local?