Forum Discussion
OData issue using Power BI API
Hi
[January 2020 Report Server and Desktop]
I'm working on the Report Server itself and have created a Report Server contents type of dashboard in the using several OData queries connecting to the Power BI API such as:
http://<MyServer>/PBIReports/api/v2.0/CatalogItems
http://<MyServer>/PBIReports/api/v2.0/Folders
These work with no issues in the Desktop on the server, but when I save the dashboard to the Power BI Report Server, when entering in my windows credentials I get a 'Cannot Connect, Login Failed...' type of error message.
I have local admin rights on the server, so it's not my login details. Strangely though if I paste the OData into the browser address it downloads a .json file as expected, so whats the RS doing to block my login credentials in the Data Sources area?
Are there any OData settings to check on the server somewhere?
Thanks in advance.
Final managed to solve this issue.
I had to delete and re-add the SPNs for the ReportServer Service account. The OData connectivity now works.
Why? Don't know but it works.
14 Replies
- d_gosbellSuper User
CDavies wrote:
These work with no issues in the Desktop on the server, but when I save the dashboard to the Power BI Report Server, when entering in my windows credentials I get a 'Cannot Connect, Login Failed...' type of error message.
What format are you using for your username. Have you tried entering it as <domain>\<username> ?
- CDaviesResolver I
Hi
Yes: Domain\Username
Username has db_datareader on the PBIReportServer DB and local admin rights on the server itself.
- d_gosbellSuper User
CDavies wrote:
Hi
Yes: Domain\Username
Username has db_datareader on the PBIReportServer DB and local admin rights on the server itself.
So if you are using the OData url that user does not need any driect rights on the PBIReportServer DB or the server itself.
It's not entirely clear where you are getting is error from. I'm assuming that you have successfully uploaded your report to the server and you are getting this error in the Manage > Data Sources page - is this correct?
What authentication option have you chosen - it should be "Windows Authentication".
I just double checked this on my server and using Windows Authentication and the Domain\Username format worked for me and I was able to schedule a refresh against the http://<MyServer>/PBIReports/api/v2.0/Folders endpoint.
- AnonymousNot applicable
he following “brick walls” were encountered:
The PowerBI Zendesk plugin only works if you install the 32-bit version of Power BI desktop client. If you don’t use it, the authentication dialogue box doesn’t work.
No Zendesk plug-in for Excel Power Query.
I am therefore forced to use JSON calls in Power Query for Excel instead and decided to use the same code for PowerBI desktop client. That is, I didn’t use the Zendesk plugin in Power BI.
I now discover that auto refresh of datasets in PowerBI.com does not support the JSON call methods employed.
I now realize that I have no choice to use different queries in PowerBI and Excel. One that uses the Zendesk plugin (PowerBI) and one that uses JSON calls (Excel).
I’m back to using a 32-bit version of Power BI Desktop Client because I’m using the Zendesk plugin. Guess what? It crashes all the time. 32-bit means less memory to play with and with PowerBI modelling, you want as much memory as possible.
It seems that if I load too much data with the timesheet data queries, then PowerBI crashes. In order to publish the PowerBI report, I need to limit the timesheet queries to 2 timesheet periods. However, I want to load almost 4 months’ worth, but more on that later.
My Power Query employs “dynamic variables” to calculate the two most recent reporting periods and these are passed to the $filter query option in the odata query.I hope this information helps!
Regards,
Lewis
developer
- d_gosbellSuper User
Anonymous did you maybe post this reply to the wrong thread? It looks like your issues related to the ZenDesk connector on the cloud service. This thread is about connecting to the Power BI Report Server API on-prem.