Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hi,
I am trying to change the credentials of a datasource with the power bi server api but I get the error "(400) Bad Request".
When I make the call to get the details from the datasource, this is the only thing that is returned:
{
Id=XXXXXXXXXXXXXXXXXX
Name=;
Description=;
Path=;
Type=DataSource;
Hidden=False;
Size=0;
ModifiedBy="XXXXXX";
ModifiedDate=2022-07-13T12:17:24.08+02:00;
CreatedBy="XXXXXX";
CreatedDate=2022-07-13T12:16:38.52+02:00;
ParentFolderId=;
IsFavorite=False;
ContentType=;
Content=;
IsEnabled=True;
ConnectionString=dwh_pro;
DataSourceType=;
IsOriginalConnectionStringExpressionBased=False;
IsConnectionStringOverridden=False;
CredentialRetrieval=prompt;
IsReference=False;
DataSourceSubType=DataModel;
Roles=System.Object[];
CredentialsByUser=;
CredentialsInServer=;
DataModelDataSource=
}
About datasource: it is a connection to Oracle with Basic Autehntication (no windows like the others examples): Username and Password.
I detail the script to see if you can help me:
$payload =
@"
{
"Id": "XXXXXXXXXXXXXXXXXX",
"Name": "",
"Description": "",
"Path": "",
"Type": "DataSource",
"Hidden": False,
"Size": 0,
"ModifiedBy": "XXXXXXXX",
"ModifiedDate": "2022-07-13T12:17:24.08+02:00",
"CreatedBy": "XXXXXXXX,
"CreatedDate": "2022-07-13T12:16:38.52+02:00",
"ParentFolderId": "XXXXXXXXXX",
"ContentType": "",
"Content": "",
"IsFavorite": False,
"IsEnabled": true,
"ConnectionString": "dwh_pro",
"DataModelDataSource": {
"AuthType": "Unknown",
"SupportedAuthTypes": [
""
],
"Kind": "Oracle",
"ModelConnectionName": "",
"Secret": "XXXXX",
"Type": "Import",
"Username": "XXXXXX"
},
"DataSourceSubType": "DataModel",
"DataSourceType": "Oracle",
"IsOriginalConnectionStringExpressionBased": False,
"IsConnectionStringOverridden": true,
"CredentialRetrieval": "store",
"CredentialsByUser": {
"DisplayText": "",
"UseAsWindowsCredentials": false
},
"CredentialsInServer": {
"UserName": "XXXXX",
"Password": "XXXXX",
"UseAsWindowsCredentials": false,
"ImpersonateAuthenticatedUser": false
},
"IsReference": false
}
}
"@
$restApiUri = "https://XXXXX" + "/api/v2.0/PowerBIReports(id)/DataSources"
$user = "XXXXX"
$pass= "XXXXXX"
$proxy = "http://XXXXXX"
$proxycred = "XXXXX"
$secpasswd = ConvertTo-SecureString $pass -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential($user, $secpasswd)
$inicio = (get-date).ToString('f')
Invoke-RestMethod -Uri $restApiUri -Method 'Patch' -Body $payload -ContentType "application/json" -Credential $credential -Proxy $proxy -ProxyCredential $proxycred -UseBasicParsing -Verbose
Thanks you very much
Solved! Go to Solution.
Hi,
I also had a similiar issue, maybe check this out https://community.powerbi.com/t5/Report-Server/PBIRS-API-issue/m-p/1290394#M15524
Ultimately I used this approach https://community.powerbi.com/t5/Report-Server/Power-bi-report-server-password-update/m-p/1338173#M1...
Hi,
I also had a similiar issue, maybe check this out https://community.powerbi.com/t5/Report-Server/PBIRS-API-issue/m-p/1290394#M15524
Ultimately I used this approach https://community.powerbi.com/t5/Report-Server/Power-bi-report-server-password-update/m-p/1338173#M1...
Hi @ClaraPS33 ,
“About datasource: it is a connection to Oracle with Basic Autehntication (no windows like the others examples): Username and Password.”
Have you check the password mentioned above?
Best Regards,
Community Support Team _ Caitlyn
If this post helps then please consider Accept it as the solution to help the other members find it more quickly.
Hi,
Thansk for your reply.
The username and password indicated in CredentialsInServer and in DataModelDataSource are the same. It is the one I use to connect to the Oracle database both from my local and from power bi Report Server.
User | Count |
---|---|
11 | |
9 | |
4 | |
1 | |
1 |