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.
Authenticate with EdgeGrid (akamai.com)
Example HTTP authorization header:
- 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 your client secret, access token, client token, and current timestamp, 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 ?