Power BI REST API ExportToFileInGroup не работает

Я могу программно войти в клиент PowerBI , собрать свои рабочие области, а также получить определенный отчет из определенной рабочей области. Мне нужно программно отобразить этот отчет в файл .pdf или .xlsx. Якобы это возможно с ExportToFileInGroup/ методы . Я даже создал очень простой отчет без каких-либо параметров. Я могу встроить это, используя пример приложения отсюда . Так что, по крайней мере, это говорит мне, что у меня есть то, что мне нужно настроить в бэкэнде. Но это не удается, когда я пытаюсь запустить ExportToFileInGroupAsync метод (ошибки под кодом.)

Мой код:

      var accessToken = await tokenAcquisition.GetAccessTokenForUserAsync(new string[] {
  PowerBiScopes.ReadReport,
  PowerBiScopes.ReadDataset,
});

var userInfo = await graphServiceClient.Me.Request().GetAsync();
var userName = userInfo.Mail;

AuthDetails authDetails = new AuthDetails {
  UserName = userName,
  AccessToken = accessToken,
};

var credentials = new TokenCredentials($"{accessToken}", "Bearer");
PowerBIClient powerBIClient = new PowerBIClient(credentials);

var groups = await powerBIClient.Groups.GetGroupsAsync();
var theGroup = groups.Value
  .Where(x => x.Name == "SWIFT Application Development")
  .FirstOrDefault();

var groupReports = await powerBIClient.Reports.GetReportsAsync(theGroup.Id);
var theReport = groupReports.Value
  .Where(x => x.Name == "No Param Test")
  .FirstOrDefault();

var exportRequest = new ExportReportRequest {
  Format = FileFormat.PDF,
};

string result = "";

try {
  var response = await powerBIClient.Reports.ExportToFileInGroupAsync(theGroup.Id, theReport.Id, exportRequest);
  result = response.ReportId.ToString();
} catch (Exception e) {
  result = e.Message;
}

return result;

Он попадает в строку в try блок, а затем выдает следующие ошибки:

Произошла ошибка при отправке запроса.

Невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным хостом.

ОБНОВЛЕНИЕ Что касается вопроса @AndreyNikolov, вот наша встроенная емкость:

После того, как это было реализовано, никаких изменений. Такая же точная ошибка.

1 ответ

Решение

Оказывается, проблема была на нашей стороне, точнее, с настройками безопасности / брандмауэра. Вот точная цитата нашего сетевого гуру.

«После некоторого дополнительного расследования мы определили, что наш брандмауэр вызывал эту проблему, когда прерывал соединение SSL. Мы смогли добавить обход для URL-адреса, и теперь он работает, как ожидалось».

Другие вопросы по тегам