<?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 Web Contents does not return json data from web API in Developer</title>
    <link>https://community.fabric.microsoft.com/t5/Developer/Web-Contents-does-not-return-json-data-from-web-API/m-p/2445260#M35417</link>
    <description>&lt;P&gt;The Road Administration in Norway provides trafficdata in an web api using GraphQL (&lt;A href="https://www.vegvesen.no/trafikkdata/api/" target="_blank"&gt;https://www.vegvesen.no/trafikkdata/api/&lt;/A&gt;). I have unsuccessfully tried to set up a connection and load data into a table in Power BI. It seems like web.contents returns html for the website rather than json data. I have run the query in Postman and there it returns correct json data.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I&amp;nbsp;&lt;SPAN&gt;appreciate some tips that can lead me the right way:-)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is my code:&lt;/P&gt;&lt;P&gt;let&lt;BR /&gt;uri = "&lt;A href="https://www.vegvesen.no/trafikkdata/api/" target="_blank"&gt;https://www.vegvesen.no/trafikkdata/api/&lt;/A&gt;",&lt;BR /&gt;headers = [#"Content-Type" = "application/json"],&lt;BR /&gt;query = "&lt;/P&gt;&lt;P&gt;query counties {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; areas {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; counties {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; number&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;",&lt;BR /&gt;source = uri &amp;amp; "?query=" &amp;amp; Uri.EscapeDataString(query),&lt;BR /&gt;resp = Web.Contents(source, [Headers=headers]),&lt;BR /&gt;json = Json.Document(resp)&lt;/P&gt;&lt;P&gt;in&lt;BR /&gt;json&lt;/P&gt;</description>
    <pubDate>Fri, 08 Apr 2022 07:58:53 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2022-04-08T07:58:53Z</dc:date>
    <item>
      <title>Web Contents does not return json data from web API</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Web-Contents-does-not-return-json-data-from-web-API/m-p/2445260#M35417</link>
      <description>&lt;P&gt;The Road Administration in Norway provides trafficdata in an web api using GraphQL (&lt;A href="https://www.vegvesen.no/trafikkdata/api/" target="_blank"&gt;https://www.vegvesen.no/trafikkdata/api/&lt;/A&gt;). I have unsuccessfully tried to set up a connection and load data into a table in Power BI. It seems like web.contents returns html for the website rather than json data. I have run the query in Postman and there it returns correct json data.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I&amp;nbsp;&lt;SPAN&gt;appreciate some tips that can lead me the right way:-)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is my code:&lt;/P&gt;&lt;P&gt;let&lt;BR /&gt;uri = "&lt;A href="https://www.vegvesen.no/trafikkdata/api/" target="_blank"&gt;https://www.vegvesen.no/trafikkdata/api/&lt;/A&gt;",&lt;BR /&gt;headers = [#"Content-Type" = "application/json"],&lt;BR /&gt;query = "&lt;/P&gt;&lt;P&gt;query counties {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; areas {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; counties {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; number&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;",&lt;BR /&gt;source = uri &amp;amp; "?query=" &amp;amp; Uri.EscapeDataString(query),&lt;BR /&gt;resp = Web.Contents(source, [Headers=headers]),&lt;BR /&gt;json = Json.Document(resp)&lt;/P&gt;&lt;P&gt;in&lt;BR /&gt;json&lt;/P&gt;</description>
      <pubDate>Fri, 08 Apr 2022 07:58:53 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Web-Contents-does-not-return-json-data-from-web-API/m-p/2445260#M35417</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2022-04-08T07:58:53Z</dc:date>
    </item>
    <item>
      <title>Re: Web Contents does not return json data from web API</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Web-Contents-does-not-return-json-data-from-web-API/m-p/2447436#M35434</link>
      <description>&lt;P&gt;The problem seems to be that the website is trying to be cute, and is providing a placeholder "Loading..." page first&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="lbendlin_0-1649537149169.png" style="width: 400px;"&gt;&lt;img src="https://community.fabric.microsoft.com/t5/image/serverpage/image-id/697437iA7B4ED1559E50E0B/image-size/medium?v=v2&amp;amp;px=400" role="button" title="lbendlin_0-1649537149169.png" alt="lbendlin_0-1649537149169.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You would have to ignore that and fetch the next page.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Your code is also missing an important query parameter.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;https://www.vegvesen.no/trafikkdata/api/?query=query%20counties%7Bareas%7Bcounties%7Bnumber%20name%7D%7D%7D&amp;amp;operationName=counties&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Here is the "proper" Power Query code that you shoud be using.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;Parameters uri and query

uri = "https://www.vegvesen.no/trafikkdata/api/"
query = "query counties{areas{counties{number name}}}"

Request

Web.Contents(uri, [Headers=[Accept="application/json"], Query=[query=query,operationName="counties"]])&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;a href="https://community.fabric.microsoft.com/t5/user/viewprofilepage/user-id/1522"&gt;@ImkeF&lt;/a&gt;&amp;nbsp; Do you remember how to handle URI redirects in such a scenario?&lt;/P&gt;</description>
      <pubDate>Sat, 09 Apr 2022 20:59:49 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Web-Contents-does-not-return-json-data-from-web-API/m-p/2447436#M35434</guid>
      <dc:creator>lbendlin</dc:creator>
      <dc:date>2022-04-09T20:59:49Z</dc:date>
    </item>
    <item>
      <title>Re: Web Contents does not return json data from web API</title>
      <link>https://community.fabric.microsoft.com/t5/Developer/Web-Contents-does-not-return-json-data-from-web-API/m-p/2447444#M35435</link>
      <description>&lt;P&gt;Ah, never mind.&amp;nbsp; Having a look at how they actually call the API reveals that this is a POST request, which means you need to stuff the query into the payload instead.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;let
query = "{areas{counties{number name}}}",
uri = "https://www.vegvesen.no/trafikkdata/api/",
    Source = Json.Document(Web.Contents(uri, [Headers=[#"Content-Type"="application/json"], Content=Json.FromValue([query = query])])),
    #"Converted to Table" = Table.FromList(Source[data][areas][counties], Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"number", "name"}, {"number", "name"})
    
in
    #"Expanded Column1"&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 09 Apr 2022 21:27:57 GMT</pubDate>
      <guid>https://community.fabric.microsoft.com/t5/Developer/Web-Contents-does-not-return-json-data-from-web-API/m-p/2447444#M35435</guid>
      <dc:creator>lbendlin</dc:creator>
      <dc:date>2022-04-09T21:27:57Z</dc:date>
    </item>
  </channel>
</rss>

