我正在尝试直接通过 Power Query 从 Clockify API 获取时间条目到 Excel。我在 Power Query 中使用以下代码:
= Web.Contents("https://api.clockify.me/api/workspaces/ID of my workspace/timeEntries/", [
Query=[ #"filter"="", #"orderBy"=""],
ApiKeyName="APIToken"
])
然后,当我尝试运行代码时,系统会提示我输入 Web API 身份验证,在我输入正确的 Web API 代码后,会出现错误(“英文翻译:身份验证不起作用。请重试”)请参阅此处的屏幕截图 https://i.stack.imgur.com/qBLHg.png
有谁知道如何解决这个问题?
在 Power Query/M 中调用基于 REST 的 API 时需要记住两件事:
当使用Web.Contents()
函数时,最好将 API 密钥作为请求标头本身中的参数传递。在你的情况下X-Api-Key
应等于{your API key}
.
使用匿名访问连接到 API。您的屏幕截图表明您正在尝试使用“Web API”进行连接。清除“Schlüssel”字段中的值并使用“匿名”。
下面是一个简单的示例,我通过工作区 ID 返回有关工作区的信息。 (我已经屏蔽了我的工作区 ID 和 API 密钥;将这些值替换为您的工作区 ID 和 API 密钥。)
这在 Excel 和 Power BI 中都适用于我:
let
Source =
Web.Contents(
"https://api.clockify.me/api/workspaces/{your workspace ID}",
[
Headers=[
#"Content-Type"="application/json",
#"X-Api-Key"={your API key}
]
]
),
jsonResponse = Json.Document(Source)
in
jsonResponse
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)