Import data using API with Access/Secret Token and Client Secret
I am trying to import data using the Akamai Reporting API (https://developer.akamai.com/api/core_features/reporting/v1.html). I have an account token, client token and client secret. How can I use these credentials to access the data with PowerBI? Getting the requested data works with other tools (for example postman).
So fare I have only used "Basic" and "Organizational account" for authentication.
I'm also doing exploration on how to integrate the Akamai API data with Microsoft Power BI in order to create an executive dashboard. Well, the issue I encounter right now is that the authentication to the Akamai API is realised with Akamai Edgegrid. I have multiple code example for OAuth2.0 but Edgegrid is a custom HTTP request signing protocol.
This specification outlines how to implement a custom HTTP request signing function in your client code.
Signing algorithm moniker. This shows that the algorithm includes EdgeGrid V1, hash message authentication code, SHA–256. For example: EG1-HMAC-SHA256
Client token. The value of the client_token from the .edgerc file.
Access token. The value of the access_token from the .edgerc file.
Timestamp. The UTC time when the request is signed. The timestamp is in this format: yyyyMMddTHH:mm:ss+0000
Nonce. A nonce, or number used once, must be assigned for the request. This is a random string used to detect replayed request messages.
Signature. The signature is the base64-encoding of the SHA–256 HMAC of the data to sign with the signing key. The signing key is computed as the base64 encoding of the SHA–256 HMAC of the timestamp string with the client secret as the key.
EdgeGrid authentication relies on a set of active tokens, tied to your Akamai account. First is a unique hostname that will receive your API request. Whenever you issue an API call, you need to include the authorization in the request body, then an authentication header, based on yourclient secret,access token,client token, and currenttimestamp, is generated and sent with each request.
So to integrate Akamai Edgegrid this with Power BI, one needs to create an on-premise custom data connector. Coded in M Language with Visual Studio + Power Query SDK. This could be done with Power Query but it is not safe and reliable because the code will reveal credential tokens.
Anyone has M language examples to integrate Akamai Edgegrid ?