Ошибка InvalidRequest при обновлении параметра набора данных только в определенном отчете - PullRequest
0 голосов
/ 03 августа 2020

У меня проблемы с обновлением параметра набора данных в моем отчете.

сам процесс довольно прост:

  1. запрос токена oauth
  2. publi sh мой шаблон для службы power bi
  3. получить опубликованный набор данных и идентификатор отчета
  4. параметр обновления в наборе данных опубликованного отчета

это код, который я ' m, используя:

function getDataset_Report(accessToken) {
            xmlHttp.open("GET",getReportIDUrl,true);
            xmlHttp.setRequestHeader('Authorization', 'Bearer '+accessToken);
            xmlHttp.responseType = "json";
            xmlHttp.onload = function () {
                if (xmlHttp.readyState === xmlHttp.DONE) {
                    if (xmlHttp.status === 200) {
                        var d = xmlHttp.response.datasets;
                        var r = xmlHttp.response.reports;
                        if (r != 0 && d != 0) {
                            console.log('---------------start updating parameter----------------')
                            reportId = r[0].id;
                            console.log(reportId);
                            datasetId = d[0].id;
                            console.log(datasetId);
                            embUrl = r[0].embedUrl;
                            clearInterval(set_interval_id);
                            var changeParamUrl = "https://api.powerbi.com/v1.0/myorg/groups/" + groupId + "/datasets/" + datasetId + "/Default.UpdateParameters";
                            changeParam(changeParamUrl, accessToken, paramData, datasetId)
                            console.log('---------------finished updating parameter----------------')
                        } else {
                            run_getDataset_Report(accessToken)
                        }
                    }
                    else{
                        removeLoading();
                    };
                }
                }
            xmlHttp.send();
        }

        function changeParam(theUrl,accessToken,paramData, datasetId) {
            console.log(paramData);
            xmlHttp.open("POST",theUrl,true);
            xmlHttp.setRequestHeader('Authorization', 'Bearer '+accessToken);
            xmlHttp.setRequestHeader("Content-type","application/json");
            xmlHttp.onload = function () {
                if (xmlHttp.readyState === xmlHttp.DONE) {
                    if (xmlHttp.status === 200) {
                        console.log('---------------start refreshing datasets----------------')
                        var getDatasourceUri = "https://api.powerbi.com/v1.0/myorg/groups/"+ groupId +"/datasets/" + datasetId + "/datasources"
                        getDatasourceInfo(getDatasourceUri, accessToken, paramData, datasetId)
                        console.log('---------------finished refreshing datasets----------------')
                    }
                    else{
                        removeLoading();
                    };
                    }
            }
            xmlHttp.send(paramData);
        };

теперь странная вещь об этой проблеме - у меня есть 3 отчета, 2 уже существующих отчета и 1 новый отчет. эта проблема возникла только в моем новом отчете, который я пытаюсь опубликовать sh. когда я использую этот код для обновления параметра на двух других, он работает нормально.

теперь я также сравнил настройки между моим новым отчетом и старым:

  1. оба параметр "Enabled Load" уже отмечен
  2. оба выпускаются одним и тем же пользователем приложения, у которого есть права администратора
  3. оба выпускаются в одно и то же рабочее пространство powerBI

единственное отличие, о котором я мог подумать, это то, что мой новый отчет создается после того, как я обновил свой рабочий стол powerBI, но я не думаю, что это повлияет на эту проблему или что-то еще.

любое понимание могло бы буду очень признателен.

бест,

...