<?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 Invalid Status Code Forbidden after client.Dashboards.GenerateTokenInGroupAsync in Developer</title>
    <link>https://community.fabric.microsoft.com/t5/Developer/Invalid-Status-Code-Forbidden-after-client-Dashboards/m-p/323880#M9559</link>
    <description>&lt;P&gt;Dashboard that I wanted was in the call directly before, then it errors...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;var&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; dashboards = &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;await&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; client.Dashboards.GetDashboardsInGroupAsync(GroupId);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#008000" face="Consolas" size="2"&gt;// Get the first report in the group.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;var&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; dashboard = dashboards.Value.FirstOrDefault();&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; (dashboard == &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;null&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;return&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; View(&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;new&lt;/FONT&gt; &lt;FONT color="#2b91af" face="Consolas" size="2"&gt;EmbedConfig&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;()&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;{&lt;/P&gt;&lt;P&gt;&lt;FONT face="Consolas" size="2"&gt;ErrorMessage = &lt;/FONT&gt;&lt;FONT color="#a31515" face="Consolas" size="2"&gt;"Group has no dashboards."&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;});&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;FONT color="#008000" face="Consolas" size="2"&gt;// Generate Embed Token.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;var&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; generateTokenRequestParameters = &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;new&lt;/FONT&gt; &lt;FONT color="#2b91af" face="Consolas" size="2"&gt;GenerateTokenRequest&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;(accessLevel: &lt;/FONT&gt;&lt;FONT color="#a31515" face="Consolas" size="2"&gt;"view"&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;var&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; tokenResponse = &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;await&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; client.Dashboards.GenerateTokenInGroupAsync(GroupId, dashboard.Id, generateTokenRequestParameters);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Thu, 14 Dec 2017 20:52:33 GMT</pubDate>
    <dc:creator>Rick4him</dc:creator>
    <dc:date>2017-12-14T20:52:33Z</dc:date>
    <item>
      <title>Invalid Status Code Forbidden after client.Dashboards.GenerateTokenInGroupAsync</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Invalid-Status-Code-Forbidden-after-client-Dashboards/m-p/323880#M9559</link>
      <description>&lt;P&gt;Dashboard that I wanted was in the call directly before, then it errors...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;var&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; dashboards = &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;await&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; client.Dashboards.GetDashboardsInGroupAsync(GroupId);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#008000" face="Consolas" size="2"&gt;// Get the first report in the group.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;var&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; dashboard = dashboards.Value.FirstOrDefault();&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;if&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; (dashboard == &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;null&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;)&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;return&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; View(&lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;new&lt;/FONT&gt; &lt;FONT color="#2b91af" face="Consolas" size="2"&gt;EmbedConfig&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;()&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;{&lt;/P&gt;&lt;P&gt;&lt;FONT face="Consolas" size="2"&gt;ErrorMessage = &lt;/FONT&gt;&lt;FONT color="#a31515" face="Consolas" size="2"&gt;"Group has no dashboards."&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;});&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;FONT color="#008000" face="Consolas" size="2"&gt;// Generate Embed Token.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;var&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; generateTokenRequestParameters = &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;new&lt;/FONT&gt; &lt;FONT color="#2b91af" face="Consolas" size="2"&gt;GenerateTokenRequest&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;(accessLevel: &lt;/FONT&gt;&lt;FONT color="#a31515" face="Consolas" size="2"&gt;"view"&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;var&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; tokenResponse = &lt;/FONT&gt;&lt;FONT color="#0000ff" face="Consolas" size="2"&gt;await&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; client.Dashboards.GenerateTokenInGroupAsync(GroupId, dashboard.Id, generateTokenRequestParameters);&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 14 Dec 2017 20:52:33 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Invalid-Status-Code-Forbidden-after-client-Dashboards/m-p/323880#M9559</guid>
      <dc:creator>Rick4him</dc:creator>
      <dc:date>2017-12-14T20:52:33Z</dc:date>
    </item>
    <item>
      <title>Re: Invalid Status Code Forbidden after client.Dashboards.GenerateTokenInGroupAsync</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Invalid-Status-Code-Forbidden-after-client-Dashboards/m-p/324042#M9567</link>
      <description>&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/49708"&gt;@Rick4him&lt;/a&gt; wrote:&lt;BR /&gt;
&lt;P&gt;Dashboard that I wanted was in the call directly before, then it errors...&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Consolas" size="2" color="#0000ff"&gt;var&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; dashboards = &lt;/FONT&gt;&lt;FONT face="Consolas" size="2" color="#0000ff"&gt;await&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; client.Dashboards.GetDashboardsInGroupAsync(GroupId);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Consolas" size="2" color="#008000"&gt;// Get the first report in the group.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Consolas" size="2" color="#0000ff"&gt;var&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; dashboard = dashboards.Value.FirstOrDefault();&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Consolas" size="2" color="#0000ff"&gt;if&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; (dashboard == &lt;/FONT&gt;&lt;FONT face="Consolas" size="2" color="#0000ff"&gt;null&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Consolas" size="2" color="#0000ff"&gt;return&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; View(&lt;/FONT&gt;&lt;FONT face="Consolas" size="2" color="#0000ff"&gt;new&lt;/FONT&gt; &lt;FONT face="Consolas" size="2" color="#2b91af"&gt;EmbedConfig&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;()&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;{&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Consolas" size="2"&gt;ErrorMessage = &lt;/FONT&gt;&lt;FONT face="Consolas" size="2" color="#a31515"&gt;"Group has no dashboards."&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;});&lt;/P&gt;
&lt;P&gt;}&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Consolas" size="2" color="#008000"&gt;// Generate Embed Token.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Consolas" size="2" color="#0000ff"&gt;var&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; generateTokenRequestParameters = &lt;/FONT&gt;&lt;FONT face="Consolas" size="2" color="#0000ff"&gt;new&lt;/FONT&gt; &lt;FONT face="Consolas" size="2" color="#2b91af"&gt;GenerateTokenRequest&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;(accessLevel: &lt;/FONT&gt;&lt;FONT face="Consolas" size="2" color="#a31515"&gt;"view"&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt;);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Consolas" size="2" color="#0000ff"&gt;var&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; tokenResponse = &lt;/FONT&gt;&lt;FONT face="Consolas" size="2" color="#0000ff"&gt;await&lt;/FONT&gt;&lt;FONT face="Consolas" size="2"&gt; client.Dashboards.GenerateTokenInGroupAsync(GroupId, dashboard.Id, generateTokenRequestParameters);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/49708"&gt;@Rick4him&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;Can you ensure all those options are correct.&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;A href="https://docs.microsoft.com/en-us/power-bi/developer/register-app#apply-permissions-to-your-application-within-azure-ad" target="_self"&gt;The registered application has sufficient permissions.&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;The groupid is correct.&lt;/LI&gt;
&lt;LI&gt;The master power bi account is the admin of the group.&lt;/LI&gt;
&lt;LI&gt;Is the embedding capacity disable for that specific workspace? You can find the information by clicking "&lt;A title="" href="https://powerbi.microsoft.com/en-us/documentation/powerbi-admin-portal/" target="_self" rel="nofollow noopener noreferrer"&gt;Admin portal&lt;/A&gt;"-&amp;gt;"Tenant settings"-&amp;gt;"Developer settings"(scroll to bottom).&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;For further troubleshooting. follow&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Add try catch block to your code to get the very specific error message.&lt;BR /&gt;
&lt;PRE&gt;try
                {
                    //your code here
                }
catch (HttpOperationException ex)
               { 
                    //Bad Request
                    var content = ex.Response.Content;
                    Console.WriteLine(content); 
                }&lt;/PRE&gt;
&lt;/LI&gt;
&lt;LI&gt;Test the REST API &lt;A href="https://msdn.microsoft.com/en-us/library/mt784614.aspx" target="_self"&gt;GenerateToken&lt;/A&gt; in &lt;A href="https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=en" target="_self"&gt;POSTMAN&lt;/A&gt;.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Dec 2017 05:24:26 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Invalid-Status-Code-Forbidden-after-client-Dashboards/m-p/324042#M9567</guid>
      <dc:creator>Eric_Zhang</dc:creator>
      <dc:date>2017-12-15T05:24:26Z</dc:date>
    </item>
    <item>
      <title>Re: Invalid Status Code Forbidden after client.Dashboards.GenerateTokenInGroupAsync</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Invalid-Status-Code-Forbidden-after-client-Dashboards/m-p/324450#M9586</link>
      <description>&lt;P&gt;Thank you, I thought I had completed the permissions correctly, but I had not.&amp;nbsp; After the permissions were set following the instructions on the link, the dashboard and the report both rendered via embedding, much appreciated. Rick&lt;/P&gt;</description>
      <pubDate>Fri, 15 Dec 2017 17:03:48 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Invalid-Status-Code-Forbidden-after-client-Dashboards/m-p/324450#M9586</guid>
      <dc:creator>Rick4him</dc:creator>
      <dc:date>2017-12-15T17:03:48Z</dc:date>
    </item>
    <item>
      <title>Re: Invalid Status Code Forbidden after client.Dashboards.GenerateTokenInGroupAsync</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Invalid-Status-Code-Forbidden-after-client-Dashboards/m-p/452331#M13890</link>
      <description>&lt;P&gt;I am getting the same error, and wanted to check if the embedding capability was disabled per your instructions, but when I go to the Admin Portal there is no "Tenant Settings", there is only a single entry "Capacity Settings".&lt;BR /&gt;&lt;BR /&gt;Has something changed?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 02 Jul 2018 07:15:07 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Invalid-Status-Code-Forbidden-after-client-Dashboards/m-p/452331#M13890</guid>
      <dc:creator>MikeWise1618</dc:creator>
      <dc:date>2018-07-02T07:15:07Z</dc:date>
    </item>
  </channel>
</rss>

