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
‎Nov 22, 2022 06:43 PM
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
‎Nov 23, 2022 04:22 PM
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/
‎Nov 24, 2022 10:34 PM