<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Rest API in Developer</title>
    <link>https://community.fabric.microsoft.com/t5/Developer/Rest-API/m-p/4104160#M54803</link>
    <description>&lt;P&gt;Can you try the same in Powershell?&lt;/P&gt;</description>
    <pubDate>Fri, 16 Aug 2024 12:17:04 GMT</pubDate>
    <dc:creator>lbendlin</dc:creator>
    <dc:date>2024-08-16T12:17:04Z</dc:date>
    <item>
      <title>Rest API</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Rest-API/m-p/4098422#M54751</link>
      <description>&lt;P&gt;Hi all,&lt;BR /&gt;&lt;BR /&gt;I need all with a Rest Api Post call I am trying to make to bind one dataset to a specific connector. I don't know what I am doing wrong but it does not work.&lt;BR /&gt;&lt;BR /&gt;I have add the service principal as user to the gateway and to the connector and it ass all the permission needed as per Microsoft documentation ( DatasetReadWriteall etc).&amp;nbsp;&lt;/P&gt;&lt;P&gt;I will paste the python code I am using:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; requests&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; msal&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;import&lt;/SPAN&gt;&lt;SPAN&gt; json&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Azure AD and app registration details&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;client_id = &lt;/SPAN&gt;&lt;SPAN&gt;"xxx"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;tenant_id = &lt;/SPAN&gt;&lt;SPAN&gt;"xxx"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;client_secret = &lt;/SPAN&gt;&lt;SPAN&gt;"xxx"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;authority = &lt;/SPAN&gt;&lt;SPAN&gt;f&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;A href="https://login.microsoftonline.com/" target="_blank" rel="noopener"&gt;https://login.microsoftonline.com/&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;tenant_id&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;scope = [&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;A href="https://analysis.windows.net/powerbi/api/.default" target="_blank" rel="noopener"&gt;https://analysis.windows.net/powerbi/api/.default&lt;/A&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;] &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;# Power BI scope for client credentials&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Create a ConfidentialClientApplication instance&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;app = msal.ConfidentialClientApplication(&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; client_id,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;authority&lt;/SPAN&gt;&lt;SPAN&gt;=authority,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;client_credential&lt;/SPAN&gt;&lt;SPAN&gt;=client_secret,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Acquire token using the client credentials&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;token_response = app.acquire_token_for_client(&lt;/SPAN&gt;&lt;SPAN&gt;scopes&lt;/SPAN&gt;&lt;SPAN&gt;=scope)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Check if the token acquisition was successful&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt; &lt;SPAN&gt;"access_token"&lt;/SPAN&gt; &lt;SPAN&gt;in&lt;/SPAN&gt;&lt;SPAN&gt; token_response:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; access_token = token_response[&lt;/SPAN&gt;&lt;SPAN&gt;"access_token"&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"Access Token:"&lt;/SPAN&gt;&lt;SPAN&gt;, access_token)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"Failed to acquire token:"&lt;/SPAN&gt;&lt;SPAN&gt;, token_response.get(&lt;/SPAN&gt;&lt;SPAN&gt;"error_description"&lt;/SPAN&gt;&lt;SPAN&gt;))&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Set the API endpoint URL&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;groupId = &lt;/SPAN&gt;&lt;SPAN&gt;"xxx"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;dataset_id = &lt;/SPAN&gt;&lt;SPAN&gt;"xxx"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;url = &lt;/SPAN&gt;&lt;SPAN&gt;f&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;A href="https://api.powerbi.com/v1.0/myorg/groups/" target="_blank" rel="noopener"&gt;https://api.powerbi.com/v1.0/myorg/groups/&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;groupId&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;/datasets/&lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;dataset_id&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;/Default.BindToGateway"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Define the payload for the API request&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;payload = {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;"gatewayObjectId"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"xxx"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;,&lt;/SPAN&gt;&lt;SPAN&gt;"datasourceObjectIds"&lt;/SPAN&gt;&lt;SPAN&gt;: [ &lt;/SPAN&gt;&lt;SPAN&gt;"xxx"&lt;/SPAN&gt;&lt;SPAN&gt;]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Set the request headers&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;headers = {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"Authorization"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;f&lt;/SPAN&gt;&lt;SPAN&gt;"Bearer &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;token_response&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"Content-Type"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"application/json"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Make the POST request&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;response = requests.post(url, &lt;/SPAN&gt;&lt;SPAN&gt;data&lt;/SPAN&gt;&lt;SPAN&gt;=payload, &lt;/SPAN&gt;&lt;SPAN&gt;headers&lt;/SPAN&gt;&lt;SPAN&gt;=headers)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;SPAN&gt;# Check the response&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;if&lt;/SPAN&gt;&lt;SPAN&gt; response.status_code == &lt;/SPAN&gt;&lt;SPAN&gt;200&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;"Dataset successfully bound to gateway."&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;else&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;print&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;f&lt;/SPAN&gt;&lt;SPAN&gt;"Failed to bind dataset to gateway: &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;response.status_code&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt; - &lt;/SPAN&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;SPAN&gt;response.text&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;SPAN&gt;"&lt;/SPAN&gt;&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 13 Aug 2024 18:55:02 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Rest-API/m-p/4098422#M54751</guid>
      <dc:creator>Uspace87</dc:creator>
      <dc:date>2024-08-13T18:55:02Z</dc:date>
    </item>
    <item>
      <title>Re: Rest API</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Rest-API/m-p/4098740#M54754</link>
      <description>&lt;P&gt;What is the error message?&amp;nbsp; Examine your token with jwt.io to make sure it has the required scope.&lt;/P&gt;</description>
      <pubDate>Wed, 14 Aug 2024 00:51:12 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Rest-API/m-p/4098740#M54754</guid>
      <dc:creator>lbendlin</dc:creator>
      <dc:date>2024-08-14T00:51:12Z</dc:date>
    </item>
    <item>
      <title>Re: Rest API</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Rest-API/m-p/4099449#M54763</link>
      <description>&lt;P&gt;hi&amp;nbsp;&lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/100342"&gt;@lbendlin&lt;/a&gt;&amp;nbsp; thanks for the reply.&amp;nbsp; I get 403 error. The token get returned but I get an error. the service principall has all the required permissions in azure.&lt;/P&gt;</description>
      <pubDate>Wed, 14 Aug 2024 06:51:24 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Rest-API/m-p/4099449#M54763</guid>
      <dc:creator>Uspace87</dc:creator>
      <dc:date>2024-08-14T06:51:24Z</dc:date>
    </item>
    <item>
      <title>Re: Rest API</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Rest-API/m-p/4103213#M54790</link>
      <description>&lt;P&gt;Thanks for the reply from lbendlin&amp;nbsp;, please allow me to provide another insight:&amp;nbsp; &lt;BR /&gt;Hi&amp;nbsp; &lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/472983"&gt;@Uspace87&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;According to the error message description: you can try to check admin portal -- search service principal settings -- is AAD account open for this user?&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Go to the Power BI Admin portal and then select &lt;STRONG&gt;Tenant settings&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Scroll to &lt;STRONG&gt;Developer settings&lt;/STRONG&gt; and then expand &lt;STRONG&gt;Allow service principals to use Power BI APIs&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;LI&gt;Select &lt;STRONG&gt;Enabled&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;Refer to:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://learn.microsoft.com/en-us/power-bi/enterprise/service-premium-service-principal#enable-service-principals" target="_blank"&gt;Automate Power BI Premium workspace and semantic model tasks with service principals - Power BI | Microsoft Learn&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Liu Yang&lt;/P&gt;
&lt;P&gt;If this post &lt;STRONG&gt;helps&lt;/STRONG&gt;, then please consider &lt;EM&gt;Accept it as the solution&lt;/EM&gt; to help the other members find it more quickly.&lt;/P&gt;</description>
      <pubDate>Fri, 16 Aug 2024 01:17:48 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Rest-API/m-p/4103213#M54790</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-08-16T01:17:48Z</dc:date>
    </item>
    <item>
      <title>Re: Rest API</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Rest-API/m-p/4103957#M54799</link>
      <description>&lt;P&gt;Hi&amp;nbsp;@Anonymous&lt;/a&gt;&amp;nbsp;,&lt;BR /&gt;&lt;BR /&gt;thanks for you reply.&amp;nbsp;&lt;BR /&gt;That option is Enabled.&amp;nbsp; We heavly usi Rest Api in our company. I am not sure if the proble is related to the pyhton code or how I pass the Payload with the information for the gateawy and datasource to bind the dataset to. The call is working on the power bi website with my credentials.&lt;/P&gt;</description>
      <pubDate>Fri, 16 Aug 2024 09:12:40 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Rest-API/m-p/4103957#M54799</guid>
      <dc:creator>Uspace87</dc:creator>
      <dc:date>2024-08-16T09:12:40Z</dc:date>
    </item>
    <item>
      <title>Re: Rest API</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Rest-API/m-p/4104160#M54803</link>
      <description>&lt;P&gt;Can you try the same in Powershell?&lt;/P&gt;</description>
      <pubDate>Fri, 16 Aug 2024 12:17:04 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Rest-API/m-p/4104160#M54803</guid>
      <dc:creator>lbendlin</dc:creator>
      <dc:date>2024-08-16T12:17:04Z</dc:date>
    </item>
  </channel>
</rss>

