在 Powerquery headers 中从 sheet 传递参数
Pass parameter from sheet in Powerquery headers
我正在 Excel 2016 年在 Get & Transform (FKA PowerQuery) 中查询 REST API,我想从 sheet 解析 API 键在 Excel 中带有参数。
如果我将查询中的 API 键硬编码为 headers 的一部分,一切正常,但如果我从 sheet 导入它并尝试使用导入的查询中的值,我收到身份验证失败。
这确实有效:
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
对这里出了什么问题有什么想法吗?
经过一些挖掘,我找到了一个更好的解决方案:我现在使用带有基本身份验证的凭据对话框,使用 API 密钥作为用户名和空白密码。这更安全,因为 API 密钥不再存储在 sheet 中,也不再存储在查询中。
谢谢!
我正在 Excel 2016 年在 Get & Transform (FKA PowerQuery) 中查询 REST API,我想从 sheet 解析 API 键在 Excel 中带有参数。
如果我将查询中的 API 键硬编码为 headers 的一部分,一切正常,但如果我从 sheet 导入它并尝试使用导入的查询中的值,我收到身份验证失败。
这确实有效:
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
对这里出了什么问题有什么想法吗?
经过一些挖掘,我找到了一个更好的解决方案:我现在使用带有基本身份验证的凭据对话框,使用 API 密钥作为用户名和空白密码。这更安全,因为 API 密钥不再存储在 sheet 中,也不再存储在查询中。
谢谢!