Forum Discussion

PowerSync's avatar
PowerSync
New Member
2 years ago

Shopify API Pagination - Power BI

Hi,

I'm trying to connect a Shopify store to Power BI but I'm having difficulties with pagination after reviewing every single forum and documentation.

this is the M code I made:

 

 

let
    // Base URL for the initial request
    BaseUrl = "https://{my_store_name}.myshopify.com/admin/api/2024-04/products.json?limit=250",
    
    // Function to recursively fetch all pages of data
    GetAllPages = (url as text) as table =>
    let
        // Perform the web request
        Response = Web.Contents(url, [Headers=[#"X-Shopify-Access-Token"={AccessTokenParameter}]]),
        Source = Json.Document(Response),
        // Extract the products data
        Data = Source[products],
        // Convert the data list to a table
        CurrentPage = if List.IsEmpty(Data) then Table.FromRecords({}) else Table.FromList(Data, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
        // Retrieve the response headers
        ResponseHeaders = Value.Metadata(Response)[Headers],
        // Check for the presence of a next page link in the headers
        LinkHeader = if Record.HasFields(ResponseHeaders, "Link") then ResponseHeaders[Link] else null,
        // Parse the next page link if it exists
        NextLink = if LinkHeader <> null and Text.Contains(LinkHeader, "rel="&"\""next\""") then Text.BetweenDelimiters(LinkHeader, "<", ">") else null,
        // Recursively fetch the next page if a next link is present
        NextPage = if NextLink <> null then GetAllPages(NextLink) else null,
        // Combine the current page data with the next page data
        Output = if NextPage <> null then Table.Combine({CurrentPage, NextPage}) else CurrentPage
    in
        Output,

    // Initial call to the function with the base URL
    Result = GetAllPages(BaseUrl)
in
    Result

 

 

 

I would greatly appreciate the help of community members to understand what is wrong with PAGINATION.

 

thank you