Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
Hi Everyone.
I'm creating a custom connector for Power BI using Power Query/M Language on Visual Studio. In the final step of my connector, it will use Web.Contents() to retrieve a presigned file in Amazon S3.
Since it's a presigned file, my request CAN NOT have an Authorization Header, otherwise, it will return an error. The problem is that I'm not able to make the following call without Authorization header:
results = Web.Contents(file_download_url)
I know that the function Web.Contents() have an Authorization parameter, so I could use something like:
results = Web.Contents(file_download_url, [Headers = [Authorization = "ANYTHING HERE"]])
However, I can't pass an empty Authorization parameter. If I use the default value, it will send a Basic Authorization, which will not work, due to the presigned file won't return with an Authorization header.
One interesting thing to notice is that, if I copy the file URL and paste it into Power BI, it works, because Power BI doesn't send Authorization header on the request (I've double-checked it using Fiddler).
Does anybody know how to send a request without the Authorization header?
Hi @paulo_zip ,
Can you try the null. For a quick sample I tried the below it's worked for me
let
Source = Table.FromColumns({Lines.FromBinary(Web.Contents("https://testik.free.beeceptor.com/my/api/path"), null, null, 1252)})
in
Source
Check out the November 2025 Power BI update to learn about new features.
Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!