I am working on the QuickSight embedded report url generation. I am trying to set the parameter default value programatically using below JAVA code.It is not working.
GetDashboardEmbedUrlRequest req = new GetDashboardEmbedUrlRequest()
.withAwsAccountId(awsAccountId)
.withDashboardId(reportInput.getDashboadId())
.withUserArn(userArn)
.withIdentityType(EmbeddingIdentityType.QUICKSIGHT)
.withSessionLifetimeInMinutes(sessionTimeout);
req.putCustomQueryParameter("CampaignName", "ABC");
req.putCustomQueryParameter("reportDev", "Program");
// get the dashboard URL
String embedUrl = quickSightClient.getDashboardEmbedUrl(req).getEmbedUrl();
LOGGER.info("URL:{}",embedUrl);
In the above code, "CampaingName" is multivalues parameter attached to the dropdown control. It's default value is set to "[All]" while building a report. Parameter "reportDev" is single value parameter with no default value and no control or any thing attached to it. Dummy parameter I introduced for testing.
After running the code, when I copy the url printed in console by logger and run it in the browser, report opens properly but with "CampaignName" and "reportDev" both set as "ALL".
Sample generated ulr is as below
https://xx-xxxx-x.quicksight.aws.amazon.com/embed/xxxxxxxxxxxxxxxxx/dashboards/xxxxxxxxxxxxxxxxxxx?code=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&identityprovider=quicksight&isauthcode=true
Well if I get the dashboard url and pass the parameter in the url to, it worked properly. "CampaignName" is set to "ABC" and "reportDev" set to "Program". According the data in the report also got filtered. Url working corrctly as below.
https://xx-xxxx-1.quicksight.aws.amazon.com/embed/xxxxxxxxxxxx/dashboards/xxxxxxxxxxxxxxx#p.reportEnv=Program&p.CampaignName=ABC
Can anybody please tell me what is missing in my code. I tried below variation as well but no luck.
req.putCustomQueryParameter("p.CampaignName", "ABC");
req.putCustomQueryParameter("p.reportDev", "Program");
Have you tried to drop the
p.from the parameter name, egI know that worked for the javascript sdk.