Сводка: я работаю над встраиванием отчетов Power BI в приложение независимого поставщика программного обеспечения, и когда я пытаюсь вызвать конечную точку api, чтобы получить сведения о встраивании отчета, она отвечает 400 неверным запросом. Я напрямую вызываю API Power BI без использования SDK, поскольку Microsoft официально не выпустила PowerBI SDK для приложений на основе Java. Кроме того, для отладки я использовал другое приложение .net, которое использует PowerBI SDK для выполнения того же вызова API в той же рабочей области, и оно работает без проблем.
Все другие конечные точки API, такие как «перечислить все рабочие области», «получить сведения о рабочей области», «перечислить все информационные панели» в рабочей области »и даже« перечислить все отчеты в рабочей области », отвечают по запросу без проблем, но конечная точка API указана здесь:
Power BI получить сведения о внедрении отчета с помощью 'workspace_id' и 'report_id'
отвечает 400 ошибочным запросом с, казалось бы, правильными учетными данными и запросом.
Контекст взаимодействия приложения:
- Приложение ISV построено на платформе загрузки Spring (Java) и платформе Angular 2.
- В настоящее время мне не удалось найти официальный Microsoft Power BI SDK для приложения на основе Java, из-за чего я напрямую ссылаюсь на API из Справочная документация по Power BI API
- Приложение ISV имеет все необходимые разрешения для доступа к перечисленным здесь API: https://docs.microsoft.com/en-us/power-bi/developer/power-bi-permissions
- Приложение может генерировать токен, выполнять аутентифицированный запрос и получать ответ от power bi для всех других конечных точек api, которые используются в приложении.
Проблема и отладка
Отладка:
- Это запрос, который делает PowerBI .NET SDK и который работает против API получения отчетов:
ПОЛУЧИТЬ https://api.powerbi.com/v1.0/myorg/groups/d864b33b-74dd-4683-9cfd-91c712039147/reports/d618f04d-0b9d-483b-8f9c-cb1210d14595 HTTP / 1.1
Авторизация: токен авторизации на предъявителя
Пользовательский агент: FxVersion / 4.7.2117.0 Windows_7_Enterprise / 6.1.7601 Microsoft.PowerBI.Api.V2.PowerBIClient / 2.0.2.17225
Хост: api.powerbi.com
- Это запрос, который мое приложение делает, напрямую ссылаясь на конечную точку API, которая возвращает 400:
ПОЛУЧИТЬ https://api.powerbi.com/v1.0/myorg/groups/d864b33b-74dd-4683-9cfd-91c712039147/reports/d618f04d-0b9d-483b-8f9c-cb1210d14595 HTTP / 1.1
кеш-контроль: без кеша
Почтальон-токен: какой-то токен
Авторизация: токен авторизации на предъявителя
Пользовательский агент: PostmanRuntime / 7.1.1
Принять: /
Хост: api.powerbi.com
PowerBI.Api
просто обертывает Http-вызовы, вы должны иметь возможность отлаживать и фиксировать детали, а затем пытаться создать тот же запрос в Postman. Если ничего не помогает, вы можете выполнить маршрутизацию через Fidler, чтобы проверить различия. - person Sherlock   schedule 15.12.2017