Что это
Power BI REST API нужен, когда повторяющуюся работу с отчетами хочется выполнять программно. Например, проверять перечень отчетов команды или контролировать обновление данных. Это не отдельная нейросеть и не автоматический аналитик.
Важно различать содержимое отчета и его описание. Метод списка отчетов возвращает названия и идентификаторы, но не выручку из диаграммы. Для данных семантической модели есть отдельный Execute Queries с DAX и дополнительными условиями доступа.
Первый безопасный результат - получить список отчетов одной учебной рабочей области. Уже после проверки авторизации можно переходить к нужному методу. Copilot, встраивание отчетов и различные лицензии Power BI не включаются автоматически только потому, что вы зарегистрировали приложение.
Ключевые параметры
- Категория: Операционные задачи
- Сложность: Для разработчика
- Запуск: Около 30 минут
- Open-source: Нет
- Данные: Не известно
- Чувствительные данные: Только с настройками
Сильные стороны
- Можно получать идентификаторы и метаданные отчетов без автоматизации браузера.
- Официальные методы поддерживают управление отчетами, рабочими областями и обновлениями.
- Execute Queries позволяет получить табличный результат DAX при выполнении требований к модели.
- Авторизация Microsoft Entra ID позволяет использовать штатную модель доступа организации.
Ограничения
- Нужны регистрация приложения, корректный токен и права к конкретной рабочей области.
- Лицензии, емкость и настройки арендатора влияют на доступность разных методов.
- Execute Queries требует разрешения Read и Build и включенной настройки; service principal имеет ограничения для моделей с RLS или SSO.
- Есть throttling и лимиты ответов: HTTP 200 не исключает ошибки или неполные данные Execute Queries.
Как использовать
1. Подготовка. Возьмите учебную рабочую область Power BI с одним опубликованным отчетом. Уточните нужную лицензию и разрешение на чтение. Сохраните workspace ID из адреса рабочей области; в API он называется groupId.
2. Настройка. Зарегистрируйте приложение в Microsoft Entra ID и настройте делегированную авторизацию по официальному руководству. Для списка отчетов запросите Report.Read.All и получите согласие, если его требует организация. Используйте access token для Power BI API; не подставляйте токен другого сервиса.
3. Первый результат. Выполните GET https://api.powerbi.com/v1.0/myorg/groups/{groupId}/reports с Authorization: Bearer. Получите массив value и сохраните id, name и webUrl одного отчета. Этот запрос читает описание, а не значения диаграмм.
4. Проверка. Сверьте название и ID с отчетом в выбранной рабочей области. При 401 проверьте токен, при 403 - права и ограничения организации, при 429 - Retry-After. Перед запросами показателей отдельно проверьте требования Execute Queries, DAX, ошибки в теле и полноту результата.
Примеры сценариев
- Найти отчет по ID вместо ручного выбора в кабинете.
- Проверить наличие нужных отчетов перед выпуском сводки.
- Получить разрешенный агрегат из семантической модели для дальнейшего анализа.
Доступ и оплата
- Модель оплаты: Бесплатный тариф + платные возможности
- Бесплатный тариф: Да
- Работа в РФ: Нужно проверять
- VPN: Не известно
- Русский интерфейс: Не известно
- Русский язык: Не известно
Есть бесплатная учетная запись Power BI, но это не обещание бесплатного выполнения любого API-метода. Совместная работа, embedding и отдельные сценарии требуют подходящих лицензий или емкости. У service principal другая модель разрешений: делегированные scopes нельзя просто перенести на него.
Когда не подходит
- Извлечь показатели из списка названий отчетов
- Обойти права рабочей области
- Считать доступ API бесплатной подпиской Copilot
Альтернативы
Looker API и Metabase API работают со своими BI-системами. Google Analytics Data API дает данные аналитики сайта, а не управляет Power BI. Выбирайте интерфейс той системы, где находятся проверенные исходные показатели.