Вы можете проверить пример для встраивания в приложение WPF. Насколько я помню, единственное отличие в коде C # состоит в том, что метод WPF WebBrowser.InvokeScript
в WinForms должен быть изменен на WebBrowser.Document.InvokeScript
.
При проверке подлинности в этом примере запрашиваются учетные данные. Если это нежелательно, вы можете использовать UserPasswordCredential
следующим образом:
var uc = new UserPasswordCredential("user@example.com", "MyStrongP@ssw0rd");
authenticationResult = await authContext.AcquireTokenAsync(resourceUri, clientId, uc);
Аутентификация с принципалом службы описана в этом сообщении в блоге , но по сути вы должны выполнить следующие шаги:
- Создайте и подготовьте участника службы, как описано выше в этом сообщении в блоге , или выполните действия, описанные в документации . (т.е. зарегистрируйте серверное веб-приложение в AAD для использования с Power BI, включите переключатель на портале администратора, примените его для определенных групп безопасности, добавьте веб-приложение AAD, созданное в одну из этих групп безопасности)
- Убедитесь, что все ваши рабочие пространства являются новыми рабочими пространствами.
- Добавьте участника службы в качестве администратора новых рабочих областей. Это можно сделать через API двумя способами:
- Участник службы создает новое рабочее пространство через API. Обратите внимание, что участник службы не может войти в портал Power BI.
- Администратор рабочей области добавляет участника службы в качестве администратора. Чтобы добавить субъект-службу в рабочую область или выполнить любую другую операцию с субъектом-службой, вам необходим идентификатор объекта участника-службы.