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

时间:2017-10-02 20:03:44

标签: excel rest powerquery get-transform

我在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 个答案:

答案 0 :(得分:0)

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

谢谢!