cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

For Dummies instructions on how to connect PowerBI to FlexeraOne APIs as a data source

Hi hoping someone can help here.

I currently have a Flexera Data Platform report that I export as a CSV and manually load/refresh into a PowerBI dashboard to provide a "pretty" timeline view of when the software will be going end of life, with a few helpful view filters like within the next 5 years, already out of date etc.

I was wondering if I could replace this manual execution and load into PowerBI by connection PowerBI to FlexeraOne directly to retrieve the information I need via an API.

As a complete newbie to API integration I have absolutely no idea what i am doing and found the FlexeraOne documentation hard to understand let alone try and implement.

Is their an idiot's /dummies guide to FlexeraOne API and endpoints so i can easily understand which endpoints to call to get the data I need please? Or has someone already done this and would be willing to help me through this process please?

I have access to FlexeraOne and have a Refresh Token.

I just don't know how to then use this via the PowerBI web or OAuth connection to get the data I need, being:

SW Manufacturer

SW Family

SW Category

SW Subcategory

SW Name

SW Market Version

SW Version

SW GA Date

SW EOL Date (calc.)

SW OBS Date

thanks in advance

Andi

(2) Replies

Hi Andi,

I have implemented this for ITAM API's (not Data Platform/IT Visibility). The data platform API's are different but the concepts would be the same.

This is achievable, but not trivial as you need to leverage multiple Power Queries to API calls that submit your refresh token to get an access (bearer) token, then use that for subsequent API calls (which may return one page of data at a time) until you have all data returned, then make that data available through the data model (in PowerBI, or even Excel directly).

Here's a snippet I use to get the access token initially (RT is a parameter which stores my personal refresh token & F1Env is either "eu" or "com" depending on whether your org is hosted in Europe or the US):

() =>

let
body = "grant_type=refresh_token&refresh_token=" & Text.From(RT),
Data = Json.Document(Web.Contents("https://login.flexera." & F1env & "/oidc/token", [Headers=[#"Content-Type"="application/x-www-form-urlencoded"], Content=Text.ToBinary(body)])),
access_token = Data[access_token]
in
access_token

You can then use the results from the query above in the header of actual API calls - the tricky part (for me) was getting the paging working correctly).

regards,
Murray

ChrisG
By Community Manager Community Manager
Community Manager

The data elements you're referred to here look like Technopedia data. This can be pulled from Flexera One using a GraphQL API.

See the following pages in the Flexera One API documentation as a starting point:

If you are unfamiliar with GraphQL APIs, the following (generic) information may be useful: https://graphql.org/learn/

(Did my reply solve the question? Click "ACCEPT AS SOLUTION" to help others find answers faster. Liked something? Click "KUDO". Anything expressed here is my own view and not necessarily that of my employer, Flexera.)