Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hello,
I am trying to create a Dataset using Power BI API.
As Datasource I want to chose the OData Query from Business Central.
However, OData requires credentials, and I am not sure where I can provide them.
I am using the code from "Embed for Customers" example and Service Principal as authentication method.
Will provide some of the code below (some lines are commented out since I am experimenting):
public async Task AddDatasetAsync(Guid workspaceId, AddDatasetDto datasetDto)
{
using (var pbiClient = await GetPowerBiClient())
{
var request = new CreateDatasetRequest
{
Datasources = new List<Datasource>
{
new Datasource
{
//ConnectionDetails = new DatasourceConnectionDetails(),
//ConnectionString = datasetDto.ConnectionString,
DatasourceType = "OData",
Name = "Dynamics365BusinessCentral",
ConnectionDetails = new DatasourceConnectionDetails
{
//Database = datasetDto.Database,
//Server = datasetDto.Server,
Url = datasetDto.Url
}
}
},
//DefaultMode = DatasetMode.Streaming,
Name = datasetDto.DatasetName,
Tables = new List<Table>()
//Tables = new List<Table>
//{
// new Table
// {
// Source = new List<ASMashupExpression>
// {
// new ASMashupExpression
// {
// Expression = ""
// }
// }
// }
//}
};
await pbiClient.Datasets.PostDatasetInGroupAsync(workspaceId, request);
}
}
The client itself is:
public async Task<PowerBIClient> GetPowerBiClient()
{
var tokenCredentials = new TokenCredentials(await aadService.GetAccessToken(), "Bearer");
return new PowerBIClient(new Uri(urlPowerBiServiceApiRoot), tokenCredentials);
}
I am trying to post a Dataset by providing "Url" property, in which I put OData query link.
However, every time I try to post a Dataset I get "BadRequest" error.
Clearly I do not specify credentials (it's using Basic Auth - Web Access Key).
Could you help with this issue?
Hi @Anonymous ,
Do you enable Business Central access to the APIs?
Please check out Business Central on-premises for Power BI integration.
Best Regards,
Liang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @V-lianl-msft ,
Thank you for a reply.
I am using Business Central in cloud and OData Services are already enabled.
I can get data from OData Queries, however I need to provide credentials - currently its Username and API Key.
I can do it in browser in a popup window or specify in Power BI Desktop when chosing data source.
However, I cannot find how can I do this via Power BI REST API.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
13 | |
2 | |
1 | |
1 | |
1 |
User | Count |
---|---|
22 | |
3 | |
2 | |
2 | |
2 |