Power BI 查询连接到使用 HMAC 身份验证的 API

Power BI query Connecting to API that uses HMAC Authentication

我是 power bi 新手,我需要使用 HMAC 身份验证连接到网络 API。如何通过网络请求发送 HMAC auth headers? 或者如何在 PowerBi 查询中进行 HMAC 加密

提前致谢

使用 Power BI 连接器,您可以使用 Crypto.CreateHmac 函数并创建 HMAC 身份验证 headers

https://www.sqlgene.com/2019/02/19/create-a-power-query-custom-data-connector-in-10-minutes

最近我为使用 oAuth2 API 的客户收集了数据。您可以使用 Power/M 查询连接到任何 API。以下是我的案例的示例代码,在第一部分中我收集了 access_token,在第二步中,我使用该访问令牌收集了数据。希望这会给您一些使用 Power Query 连接到任何 API 的想法。

let
    url = "your_authentication_url_here",

    body  = "{ ""client_id"": ""****"",  ""client_secret"": ""****"", ""grant_type"": ""****"", ""audience"":""****""}",
    tokenResponse = Json.Document(Web.Contents(url,[Headers = [#"Content-Type"="application/json"], Content = Text.ToBinary(body) ] )),
    AccessToken = tokenResponse[access_token],
    AccessTokenHeader = "Bearer " & AccessToken,


    data_url = "your_main_url_here",
    data_body = "{
                    ""authorization"": """& AccessTokenHeader & """,
                    ""content-type"": ""application/json""
                }",

    GetGroups = Json.Document(
        Web.Contents(
            data_url, 
            [
                Headers = Json.Document(data_body)
            ] 
        )
    ),    

    categories = GetGroups[categories], --Category here will be changed as per your retrned data

    #"Converted to Table" = Table.FromList(categories, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Expanded Column1" = Table.ExpandRecordColumn
    (
        #"Converted to Table", "Column1", 
        {"ext_id", "shared", "report", "query", "_id", "description"}, --This is column returned from your data set
        {"ext_id", "shared", "report", "query", "_id", "description"}  -- Rename columns accordingly
    )
in
    #"Expanded Column1"