Forum Discussion
Change Data Source Credentials with api Power BI Report Server
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
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#M15801
3 Replies
- whereismydataResolver IV
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#M15801 - AnonymousNot applicable
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 _ CaitlynIf this post helps then please consider Accept it as the solution to help the other members find it more quickly.
- ClaraPS33Regular Visitor
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.