如何通过Power Query访问Clockify API

时间:2018-11-06 01:25:08

标签: powerquery clockify

我正在尝试通过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之后,会出现错误(“英语翻译:身份验证不起作用。请重试”。) }}

有人知道如何解决吗?

2 个答案:

答案 0 :(得分:1)

在Power Query / M中调用基于REST的API时,要记住两件事:

  1. 使用Web.Contents()函数时,最好将API密钥作为参数传递给请求标头本身。在您的情况下,X-Api-Key应该等于{your API key}

  2. 使用匿名访问连接到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吗?