The ultimate Microsoft Fabric, Power BI, Azure AI, and SQL learning event: Join us in Stockholm, September 24-27, 2024.
Save €200 with code MSCUST on top of early bird pricing!
Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more. Get started
Hello,
I am trying to connect to a GraphQL api through Power BI and could use some advice. In the Postman API tool I have written a working query, like this:
The query is above, and part of the response is below. The URL is a https web address with a single subscription-key parameter.
How do I implement this in Power Query?
Cheers, and thanks in advance, Mike
Solução funcional 2024:
let
Source = Web.Contents(
"URL",
[
Headers=[
#"Method"="POST",
#"Content-Type"="application/json",
#"Authorization"= "Bearer xxxxxxxx"
],
Content=Text.ToBinary("{""query"": ""{ cards(pipe_id:xxxxxx){ edges{ node{ id title uuid url phases_history { phase { name created_at } } } } } }""}")
]
),
#"JSON" = Json.Document(Source)
Have you guys ever tried pagination in this code. Need help for using pagination for retrieving all pages.
i found a tool that is really helpful from me: "PowerBI Query Generator for GitHub GraphQL API v4" :
https://jsfiddle.net/rockyintel/1sqm7dpf/
i entered my graphQL query
and got the following Power Query M formula which works ! in my query i am using x-api-key as the key name.
this is the output from the generator tool:
let
Source = Web.Contents(
"https://myURL",
[
Headers=[
#"Method"="POST",
#"Content-Type"="application/json",
#"x-api-key"="putMyKeyHere"
],
Content=Text.ToBinary("{""query"": ""{ list{ items{ id name } } }""}")
]
),
#"JSON" = Json.Document(Source),
data = JSON[data]
in
data
Hello, i need the same, but i am a begginner. you can explain me how to connect Graph Ql to Power BI??
For me the following code works:
Source = Web.Contents(
"http://localhost/HOPEXGraphQL/api/ITPM",
[
Headers=[
#"Method"="POST",
#"Content-Type"="application/json",
#"Authorization"="Bearer " & gottoken,
#"X-Hopex-Context" = "{""EnvironmentId"":""M6LC(Gp3VzSP"",""RepositoryId"":""ihd7)1IVRXR9"",""ProfileId"":""757wuc(SGjpJ""}"
],
// Notice the quote escaping here
Content=Text.ToBinary("{""query"":""query{ application{ id name applicationType businessProcess{ id name} applicationOwner_PersonSystem{ id name } sentApplicationFlow_ApplicationParticipant{ id name } receivedApplicationFlow_ApplicationParticipant{ id name }} }""}")
]
),
#"JSON" = Json.Document(Source),
data = JSON[data]
Hello,
Would like to ask if you are still using Power BI and GraphQL? Does it still work after 2 years with the new verision of Hopex V5. We are trying to do the same thing that you are doing and coincidentally we are using Hopex GraphQL as well. Still did not manage to make it work. Would really appreciate it if you would send the code you are using to connect them.
Thank you!
Hi. You can try this. Assuming the response is a json. Imagine this is your URL: "https://swapi.dev/api/people/?search=Skywalker" and the body is a simple json with two params.
Then the code might be like this:
let
Json_body = Json.FromValue("{ ""first_param"": ""AAAAA"", ""second_param"": ""BBBBBB""}",),
Source = Json.Document(Web.Contents("https://swapi.dev/api/", [
RelativePath="people/",
Query=[search="Skywalker"],
Headers=[#"Content-Type"="application/json"],
Content=Json_body
]))
in
Source
Hope it helps.
Happy to help!
Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.
Check out the August 2024 Power BI update to learn about new features.
Learn from experts, get hands-on experience, and win awesome prizes.