web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Data gateway for OData...
Power Apps
Unanswered

Data gateway for OData connection

(0) ShareShare
ReportReport
Posted on by 24

Following on from this query, the documentation shows that a data gateway is required for an Odata connection. This hasn't been an issue when connecting in PowerBI Desktop, but I'm trying to make that connection in PowerApps. How can I create the data gateway it requires?

I have the same question (0)
  • lbendlin Profile Picture
    8,474 Super User 2025 Season 2 on at

    Find a VM (or better two) that has direct line of sight to your data source. Install Enterprise Gateway on that VM.  Run the gateway management app to register the new gateway.  Make yourself connection creator on the gateway.  In PowerApps create a new connection and pick that gateway.

  • PatchworkBoy Profile Picture
    4 on at

    oData is essentially just JSON, so use the Get Data > Web page connector called from a function with the same endpoint URL and manually craft the auth header... for an oData feed over https using Basic auth, something along the lines of:

     

    (user as text, pass as text, TableName as text) => let
     BasicAuth = user & ":" & pass,
     Base64_Auth = Binary.ToText(Text.ToBinary(BasicAuth), BinaryEncoding.Base64),
     BaseUrl = "https://base.url/odata",
     oDatasrc=TableName,
     Headers = [
     Accept="application/json",
     Authorization = "Basic " & Base64_Auth
     ],
     Options = [
     RelativePath = oDataSrc,
     Headers = Headers,
     ManualStatusHandling = {400, 404}
     ],
     binary_response = Web.Contents(BaseUrl, Options),
     buffered = Binary.Buffer(binary_response),
     response_metadata = Value.Metadata(binary_response),
     status_code = response_metadata[Response.Status],
     // for 400 and 404, return extra error info
     maybe_bytes =
     if List.Contains({400, 404}, status_code)
     then response_metadata else buffered,
     // returns either document else web request error
     from_json = Json.Document(maybe_bytes),
     value = from_json[value],
     TableConvert = Table.FromList(value, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
    in
     TableConvert

     


    ...but remember any filtering etc won't be folded back, so you'll probably want to craft any essential top-level filters into the URL by hand also.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 717 Most Valuable Professional

#2
Michael E. Gernaey Profile Picture

Michael E. Gernaey 329 Super User 2025 Season 2

#3
Power Platform 1919 Profile Picture

Power Platform 1919 268

Last 30 days Overall leaderboard