代码之家  ›  专栏  ›  技术社区  ›  kirvis

从Powerquery标头中的工作表传递参数

  •  1
  • kirvis  · 技术社区  · 8 年前

    我正在Get&中查询REST API;在Excel 2016中转换(FKA PowerQuery),我想用参数从Excel中的一张表中解析API键。

    如果我将查询中的API键硬编码为标头的一部分,则一切正常,但如果我从表中导入它并尝试在查询中使用导入的值,则会导致身份验证失败。

    let
            Source = Json.Document(Web.Contents("https://app.url.io/api/", [Headers=[Authorization="Basic APIKEY"]]))
    in
            Source
    

    这也适用于:

    let
        API_key = "APIKEY",
        Source = Json.Document(Web.Contents("app.url.io/api/", [Headers=[Authorization="Basic "&API_key]]))
    in
        Source
    

    这不起作用:

    let
        //API key from parameter table
        API = Excel.CurrentWorkbook(){[Name="API_key"]}[Content],
        API_key = API{0}[Column1],
        //
        Source = Json.Document(Web.Contents("https://app.url.io/api/", [Headers=[Authorization="Basic "&API_key]]))
    in
        Source
    

    1 回复  |  直到 8 年前
        1
  •  0
  •   kirvis    8 年前

    在做了一些挖掘之后,我找到了一个更好的解决方案:我现在使用带有基本身份验证的凭据对话框,API密钥作为用户名,密码为空。这更安全,因为API密钥不再存储在工作表上,也不再存储在查询中。

    谢谢