Forum Discussion

JM-CV's avatar
JM-CV
Regular Visitor
3 years ago

Avoid URL encoding in the Query of Web.Contents

Hello all, 

 

In order to avoid a dynamic url in Web.Contents (to automatcaly refresh dashboard in Power BI Services), and given tha paging system of the Azure API, I wrote the code below to achieve so, but I found out that in the HTTP request, the Path variable in query_param is url-encoded, making it differentto the URL expected by the API. 

 

Is there any way to disable this enconding or do you know another approach to change the parameters of the URL properly?

 

Thank you in advance.

 

 

let
        GetPages = (Path as text)=>
        let
            Host = "https://management.azure.com/subscriptions/xxxxxx/providers/Microsoft.Compute/virtualMachines?api-version=2022-11-01",
			query_param= [#"api-version"=Path],

            Source = Json.Document(
                Web.Contents(
                    Host, 
                    [Query = query_param]
                )),
            LL= @Source[value],
 
            Next = Text.Replace(Source[#"nextLink"], Host, ""),
            result = try @LL & @GetPages(Next) otherwise @LL
        in
        result,

        Host = "https://management.azure.com/subscriptions/xxxxxx/providers/Microsoft.Compute/virtualMachines?api-version=2022-11-01",
        Source = Json.Document(Web.Contents(Host)),
        Next = Text.Replace(Source[#"nextLink"], Host, ""),
        first= @Source[value],
        Fullset = first&GetPages(Next)

in Fullset

 

2 Replies

  • Any solution? Same here. My Query parameters automaticaly get encoded so instead of the correct parameter:

    search=(status:(values:List(ACTIVE)))  
    The following is what gets requested and I get 400 Bad request
    search=%28status%3A%28values%3AList%28ACTIVE%29%29%29 
    How can I prevent it from encoding?