我正在尝试通过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代码{{3之后,会出现错误(“英语翻译:身份验证不起作用。请重试”。) }}
有人知道如何解决吗?
答案 0 :(得分:1)
在Power Query / M中调用基于REST的API时,要记住两件事:
使用Web.Contents()
函数时,最好将API密钥作为参数传递给请求标头本身。在您的情况下,X-Api-Key
应该等于{your API key}
。
使用匿名访问连接到API。屏幕截图表明您正在尝试使用“ Web API”进行连接。清除“Schlüssel”字段中的值,并改用“ Anonym”。
这是一个简单的示例,其中我按工作空间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
答案 1 :(得分:0)
不是X-Api-Key而不是ApiKeyName吗?