Создадим приложение и выполним подключение к Power BI API.
Процесс подключения и последующей работы с Power BI Rest API состоит из двух этапов:
Создание приложения для Power BI API
Для создания приложения, с помощью которого будем работать с Power BI Rest API, необходимо перейти на portal.azure.com и в правом верхнем углу выбрать Параметры:
На открывшейся странице на вкладке Каталоги + подписки необходимо скопировать ID каталога, это значение понадобится в последующем:
После этого переходим по ссылке и создаем новое приложение:
На следующем этапе необходимо указать Имя создаваемого приложения и выбрать тип учетной записи. Я планирую работать с Power BI API через Jupyter Notebook. Подключаться к иным учетным записям я не планирую, выбираю вариант Только в этом каталоге организации:
Для завершения создания приложения необходимо нажать на кнопку Зарегистрировать в нижней части страницы. Если никаких ошибок при заполнении формы нет, приложение будет создано. На следующей странице нам понадобится Идентификатор приложения. С его помощью ниже выполним подключение с помощью Python к Power BI Rest API:
Следующий шаг — предоставление разрешений для работы с API. В меню, расположенном слева, выбираем Разрешения API и нажимаем Добавить разрешение:
В списке Интерфейсы API Microsoft находим Power BI Service:
Поскольку я не планирую выполнять авторизацию для доступа к Power BI Rest API, выбираю Разрешения приложения:
Мне нужно только получать информацию, поэтому достаточно прав Tenant.Read.All:
Завершаем настройку нажатием кнопки Добавить разрешения в нижней части страницы. Иногда кнопки завершения или подтверждения действий не видны, попробуйте развернуть окно на весь экран.
В списке настроенных разрешений появится вновь добавленное. Обратите внимание, что может потребоваться согласие администратора. Если такое действие необходимо, информация о нем отображается в столбце Состояние:
Если вы являетесь администратором в своем портале Microsoft, можете выполнить это действие самостоятельно, если нет, обратитесь к тому, кто наделен таким правом:
Подтверждаем:
Получаем уведомление, что все необходимые права для работы с Power BI API у нашего приложения имеются:
Остался один этап в настройке приложения — получение Секрета для работы. Выбираем в меню приложения Сертификаты и секреты и Новый секрет клиента:
Указываем описание и срок действия:
Нажимаем Добавить, в списке секретов появилась новая запись. Скопируйте значение:
Приложение готово, но без следующего шага мы не сможем подключиться и работать с данными. Необходимо перейти в режим администратора (Admin portal) в Power BI Service, найти в списке следующую опцию и активировать в ней возможности работы:
Теперь нужно добавить наше приложение в ту рабочую область, с которой мы хотим взаимодействовать. Делается это в разделе управления пользователями, вместо имени или email пользователя укажите имя вашего приложения:
На этом подготовительная работа для работы с Power BI API завершена. Перейдем к тому, что получим данные с его помощью.
Отправка и обработка запросов Power BI API
Для работы с Power BI Rest API используем Python и Jupyter Notebook. Сначала подключаем необходимые библиотеки. Я использую Microsoft Authentication Library (MSAL):
1 2 3 |
import msal import requests import json |
Далее указываем URL, в котором необходимо использовать ID каталога, который мы скопировали в самом начале создания приложения:
1 |
authority_url = 'https://login.microsoftonline.com/ВАШ_ИДЕНТИФИКАТОР_КАТАЛОГА' |
Следующий блок — авторизационные данные приложения:
1 2 3 |
client_id= 'ID_ПРИЛОЖЕНИЯ' client_secret = 'СЕКРЕТ' scope =['https://analysis.windows.net/powerbi/api/.default'] |
После этого, используя метод ConfidentialClientApplication подключаемся к Power BI API, получаем токен, который затем используем для взаимодействия с методами API :
1 2 |
app = msal.ConfidentialClientApplication(client_id,authority=authority_url,client_credential=client_secret) result = app.acquire_token_for_client(scopes=scope) |
Существуют и другие методы работы с авторизацией, возможно вам потребуется один из них, ниже по ссылке документация по библиотеке в ней вы найдете всю необходимую информацию. О том, какие методы доступны к использованию при работе с API, можно узнать из официальной документации. О библиотеке Microsoft Authentication Library (MSAL) информация доступна здесь.