Не очень ясно, что вам не хватает, но вот официальные образцы от Microsoft, включая демонстрацию того, как реализовать Приложение владеет сценарием данных . Хорошее место для начала - прочитать Встраивание контента в ваше приложение для ваших клиентов учебник. Вы можете увидеть, как все работает в демоверсии детской площадки .
Чтобы встроить элемент Power BI в ваше приложение, вам необходимо сделать следующее:
Зарегистрируйте приложение - go на dev.powerbi.com / apps и зарегистрируйте собственное приложение. Выберите, какие разрешения следует предоставить (если вы не уверены, для первых тестов просто предоставьте их все). Скопируйте guid - это идентификатор приложения, или идентификатор клиента.
Следующим шагом является аутентификация из вашего приложения и получение токена доступа. Для этого используйте Azure Библиотеку аутентификации Active Directory (ADAL) - вызовите некоторые из acquireToken
методов класса AuthenticationContext
. Вот одна клиентская библиотека ADAL для PHP, а вот документация Microsoft для этих методов.
Используйте этот токен доступа для вызова API REST Power BI и получите embedUrl
элемента, который вы хотите встроить, например, report .
Use Power BI JavaScript client чтобы встроить этот элемент. Вам нужно инициализировать один класс встраивания конфигурации и передать информацию о типе элемента (отчет, панель мониторинга, плитка), где его найти (embedUrl), аутентификации (токен доступа), некоторых других параметрах конфигурации (показать или скрыть). панель фильтров, навигация и т. д. c.), применяемые фильтры и т. д. Если вы будете использовать токен доступа, полученный выше, установите tokenType
равным AAD
. Этот токен имеет много привилегий, поэтому по соображениям безопасности вы можете использовать вместо него Embed
токен. В этом случае используйте токен доступа для повторного вызова REST API (например, Reports GenerateTokenInGroup ).
Вызовите метод powerbi.embed
клиента JavaScript, передайте встроенная конфигурация для визуализации этого элемента Power BI в вашем приложении.
Я также рекомендую вам взглянуть на статью Основы встраивания (и остальные статьи в этой вики).