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
trt18-sistemas
Advocate III
Advocate III

Dataset Refresh API doesn't work from Power Query

Hi there,

I'm trying to implement a Power Query Script that refresh a dataset by using "Dataset - Refresh Dataset in Group" REST API (https://learn.microsoft.com/en-us/rest/api/power-bi/datasets/refresh-dataset-in-group).

I can trigger the dataset refresh by using Postman or direct using the "Try it" API page (https://learn.microsoft.com/en-us/rest/api/power-bi/datasets/refresh-dataset-in-group#code-try-0), but when I call for this API by using Power Query at Power BI Desktop, it just doesn't work.
Bellow is Power Query Script, where GetAccessToken is a separated Query that calls for Microsft API in order to retrieve a valid Token. It's working fine. I can say that because when I use the token return by GetAccessToken query and use it at Postman, it works.

 

let
    auto_token = "Bearer " & GetAccessToken,
    url_datasetlist = "https://api.powerbi.com/v1.0/myorg/groups/workspace_id00000/datasets/dataset_id00000/refreshes",
    content_type = "application/x-www-form-urlencoded",
    body="NotificationOption=MailOnCompletion",
    Source = Json.Document(Web.Contents(url_datasetlist, [Headers=[Authorization=auto_token, #"Content-Type"=content_type, Content=body]]))
in 
    Source

 

Source content is a record as you can see below:

 

trt18sistemas_0-1685377219439.png

 

Could any body help me find the problem? Any tip of what I'm doing wrong?

 

2 REPLIES 2
v-stephen-msft
Community Support
Community Support

Hi @trt18-sistemas ,

 

It seems that the issue is with the content_type parameter in the header. The content_type parameter should be set to "application/json" instead of "application/x-www-form-urlencoded". Try changing the content_type parameter to "application/json" and see if that resolves the issue.

Try the modified code:

let
    auto_token = "Bearer " & GetAccessToken,
    url_datasetlist = "https://api.powerbi.com/v1.0/myorg/groups/workspace_id00000/datasets/dataset_id00000/refreshes",
    content_type = "application/json",
    body = "{""notifyOption"": ""MailOnCompletion""}",
    Source = Json.Document(Web.Contents(url_datasetlist, [Headers=[Authorization=auto_token, #"Content-Type"=content_type], Content=Text.ToBinary(body)]))
in 
    Source

 

                                                                                                                                                         

Best Regards,

Stephen Tao

 

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

Hi @v-stephen-msft ,

Thanks for your reply. I forget to mention that I've tried using Json and it returned a error. I've pasted your code on Power BI and the same error pop up again (message below). In this case, seems that the problem is how message is formated, but I can't see any thing wrong on the content.

trt18sistemas_0-1685536566425.png

 

Just in case, here is the print screen from my M code:

 

trt18sistemas_1-1685536910166.png

 

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
Top Kudoed Authors