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

Be one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now

Reply
JGOIZET
New Member

Ignore Mashup.Engine.Interface.RessourceAccessForbiddenException

Hi everybody,

 

I have an significant issue and i have not found any solution, so I require your help.

 

I made query who ask information from an API. I have no particular issue on it. For now, I copy my query forty times to made it each time and each time with a different dedicated number called "division_num". I am trying to do it from a table with all my "division_num" in.

 

My report is supposed to be used by several people and each people has not the same rights to access to division number. When i do a query for each division, no problem because unavailable division query doesn't work.

But, when i trying to do it from a table with all my "division_num", my query (as function) crash with the following message.

JGOIZET_2-1702482363708.png

 

It ok of that because, the user cannot access to at least one division.

 

My question and my issue is that, how can i do to ignore if division is not accessible ?

when y tried to use "try....otherwise" I have the same error message.

I want to do a condition like that :

when the API call is forbidden by the user then null else QUERY.

 

For information, i tried to Table.Combine of all my fourty query but i had the same error.

 

Thanks in advance for your help.

1 ACCEPTED SOLUTION

Hi Ibendlin,

 

I try that before without success, but i search another solution with your tip and I found the following :

let

url = https:\\ ....

hearders = paramaters 

response = Web.Contents(url, [Headers=headers, ManualStatusHandling={403,401,404,500}]),
Test=Value.Metadata(response),
success = Json.Document(Web.Contents(url, [Headers=headers]))[d],
Data=if Test[Response.Status] = "200" then success else
#table(
type table[Amount = number, Division = text],
{{0, Division}})

 

It look succed. 

I will try it in my full case.

 

Thanks a lot 😉

View solution in original post

2 REPLIES 2
lbendlin
Super User
Super User

Read about ManualStatusHandling:  Web.Contents - PowerQuery M | Microsoft Learn

Hi Ibendlin,

 

I try that before without success, but i search another solution with your tip and I found the following :

let

url = https:\\ ....

hearders = paramaters 

response = Web.Contents(url, [Headers=headers, ManualStatusHandling={403,401,404,500}]),
Test=Value.Metadata(response),
success = Json.Document(Web.Contents(url, [Headers=headers]))[d],
Data=if Test[Response.Status] = "200" then success else
#table(
type table[Amount = number, Division = text],
{{0, Division}})

 

It look succed. 

I will try it in my full case.

 

Thanks a lot 😉

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

ArunFabCon

Microsoft Fabric Community Conference 2025

Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.

December 2024

A Year in Review - December 2024

Find out what content was popular in the Fabric community during 2024.

Top Solution Authors