401 Unauthorized: Error while retrieving Embed URL (embed power bi for customers-Python)

Viewed 1241

I took every steps in this tutorial and got all the required information / IDs / Parameters. Also watched these vids.

However, at the final stage when running the sample python code (flask app), and opening the localhost url in my browser I get this error:

Error Details:
401 Unauthorized: Error while retrieving Embed URL
Unauthorized:
RequestId: 0b143776-bc54-492e-80bc-5401ecf32fd3

Which I can't figure out why

it seems that I'm unable to get the token and 401 is return in pbiembedservice.py as the api response (last line):

class PbiEmbedService:

    def get_embed_params_for_single_report(self, workspace_id, report_id, additional_dataset_id=None):
        '''Get embed params for a report and a workspace

        Args:
            workspace_id (str): Workspace Id
            report_id (str): Report Id
            additional_dataset_id (str, optional): Dataset Id different than the one bound to the report. Defaults to None.

        Returns:
            EmbedConfig: Embed token and Embed URL
        '''

        report_url = f'https://api.powerbi.com/v1.0/myorg/groups/{workspace_id}/reports/{report_id}'       
        api_response = requests.get(report_url, headers=self.get_request_header())

Other posts were not very helpful, can someone help me with that

1 Answers

I figured out what was the issue. I needed to add the registered app in ADD (service principal) to a security group, and then add it in Power BI Admin Portal -> Tenant setting -> Developer tap -> add it to the security group.

enter image description here

Related