Power BI REST API: методы и примеры кода для программного взаимодействия с Power BI

Power BI REST API — это веб-служба, предоставляемая Microsoft, которая позволяет разработчикам программно взаимодействовать с Power BI. Он позволяет автоматизировать задачи, управлять наборами данных, отчетами, информационными панелями и многим другим. Вот некоторые часто используемые методы REST API Power BI, а также примеры кода:

  1. Импорт данных.
    Этот метод позволяет импортировать данные в Power BI из различных источников.

    import requests
    url = "https://api.powerbi.com/v1.0/myorg/groups/{group_id}/datasets/{dataset_id}/imports"
    headers = {
       "Content-Type": "application/json",
       "Authorization": "Bearer {access_token}"
    }
    payload = {
       "name": "Sample Dataset",
       "source": {
           "type": "Web",
           "url": "https://example.com/data.csv"
       },
       "tables": [
           {
               "name": "Table1",
               "columns": [
                   {"name": "Column1", "dataType": "Int64"},
                   {"name": "Column2", "dataType": "String"}
               ]
           }
       ]
    }
    response = requests.post(url, headers=headers, json=payload)
  2. Создание отчета.
    Этот метод позволяет создать новый отчет в Power BI.

    import requests
    url = "https://api.powerbi.com/v1.0/myorg/groups/{group_id}/reports"
    headers = {
       "Content-Type": "application/json",
       "Authorization": "Bearer {access_token}"
    }
    payload = {
       "name": "Sample Report",
       "datasetId": "{dataset_id}"
    }
    response = requests.post(url, headers=headers, json=payload)
  3. Обновление токена внедрения отчета.
    Этот метод позволяет обновить токен внедрения отчета.

    import requests
    url = "https://api.powerbi.com/v1.0/myorg/groups/{group_id}/reports/{report_id}/GenerateToken"
    headers = {
       "Content-Type": "application/json",
       "Authorization": "Bearer {access_token}"
    }
    payload = {
       "accessLevel": "View"
    }
    response = requests.post(url, headers=headers, json=payload)
  4. Обновление набора данных.
    Этот метод позволяет инициировать обновление набора данных в Power BI.

    import requests
    url = "https://api.powerbi.com/v1.0/myorg/groups/{group_id}/datasets/{dataset_id}/refreshes"
    headers = {
       "Content-Type": "application/json",
       "Authorization": "Bearer {access_token}"
    }
    response = requests.post(url, headers=headers)
  5. Получение URL-адреса для встраивания отчета.
    Этот метод позволяет получить URL-адрес для встраивания отчета.

    import requests
    url = "https://api.powerbi.com/v1.0/myorg/groups/{group_id}/reports/{report_id}"
    headers = {
       "Authorization": "Bearer {access_token}"
    }
    response = requests.get(url, headers=headers)
    embed_url = response.json()["embedUrl"]