Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Hi!!
I'm actually working ina projecto to develop reports using data from an API. However, I can create a connection but the information have pagination.
I want to import all the information, but I can't develop all the code to do it automatically.
Can you help me please!!
Here is all the things I have.
code used to acces the invoices
let
invoices = Json.Document(Web.Contents(
baseUrl & "/api/" & accountKey & "/" & subscriptionKey & "/billing/invoices?page=1&pageSize=10",
[
Headers = [
#"Content-Type"="application/x-www-form-urlencoded",
#"Authorization"="Bearer " & token
]
]
))
in
invoices[data]
@Anonymous
Hi! Could you please add link to API Documentation?
Hi,
Could you please test this query:
let
// Set the initial page number and page size
pageNumber = 1,
pageSize = 10,
// Define a helper function to fetch invoices for a specific page
fetchInvoices = (page) =>
let
// Generate the URL for the current page
url = baseUrl & "/api/" & accountKey & "/" & subscriptionKey & "/billing/invoices?page=" & Text.From(page) & "&pageSize=" & Text.From(pageSize),
// Fetch the invoices for the current page
invoices = Json.Document(Web.Contents(url, [
Headers = [
#"Content-Type"="application/x-www-form-urlencoded",
#"Authorization"="Bearer " & token
]
])),
// Extract the 'data' field from the fetched invoices
invoiceData = invoices[data]
in
invoiceData,
// Initialize an empty list to store all invoices
allInvoices = List.Combine(List.Generate(() =>
[page = pageNumber, invoices = fetchInvoices(pageNumber)],
each List.Count([invoices]) > 0,
each [
page = [page] + 1,
invoices = fetchInvoices([page])
],
each [invoices]
))
in
allInvoices