Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

Unsupported Refresh on Web.Contents

I saw some postings on this similar error but I don't understand how to write the MQuery for api that I have set up in my reports.  Can someone help me with the appropriate MQuery to be able to do a refresh in services to reports that are getting called from this format below:

 

Json.Document(Web.Contents("https://name.name.com:1111/api/viewContents/projects/v1/PowerBiAllProjects?projectId=-1"))

1 ACCEPTED SOLUTION
Anonymous
Not applicable

I was able to import and also get the Gateway refresh to work now.  I had to split it up this way:

= Json.Document(
Web.Contents("https://name.com:port",
[
RelativePath="/api/viewContents/projects/v1/PowerBiProjects?projectId=-1"
]

)
)

View solution in original post

7 REPLIES 7
ibarrau
Super User
Super User

Hi, We might help you more if you show us the error and specify the api authentication. Here is the good practise for this:

Web.Contents(
 "https://name.name.com:1111/api", 
 [
  RelativePath="viewContents/projects/v1/PowerBiAllProjects", 
  Query=[projectId=-1]
 ]
)

 I hope this works.

Regards,


If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Happy to help!

LaDataWeb Blog

Anonymous
Not applicable

That would not connect following your example.  My error is this:

You can't schedule refresh for this dataset because the following data sources currently don't support refresh:

  • Data source for IssuesProjectsJoined

 

Discover Data Sources

Query contains unsupported function. Function name: Web.Contents

 

 

Here is the data source for this from advanced editor:

Source = Json.Document(Web.Contents("https://name:port/api" & "/viewContents/projects/v1/PowerBiProjects?" & "projectId=-1")),
viewContentsV1 = Source[viewContentsV1],
rows = viewContentsV1[rows],

 

That data source is not well formatted. Refer to the example provided by @ibarrau 

 

It may also help not to conflate the web request and the JSON parser.

 

Try having the source as just the web contents.

 

Source = Web.Contents(URL,Parameters),
JS = Json.Document(Source),
viewContentsV1 = JS[viewContentsV1],
rows = viewContentsV1[rows],

 

Anonymous
Not applicable

His format would not work - my import fails. 

The format I have sent is the best practise. I might have some mistake somewhere. Try "-1" with double quotes in the parameter.

Regards,


If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Happy to help!

LaDataWeb Blog

Anonymous
Not applicable

I was able to import and also get the Gateway refresh to work now.  I had to split it up this way:

= Json.Document(
Web.Contents("https://name.com:port",
[
RelativePath="/api/viewContents/projects/v1/PowerBiProjects?projectId=-1"
]

)
)

Hard coding is not a good solution. You will want to follow @ibarrau 's guidelines.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors