首页 > 解决方案 > Power BI 桌面 - REST API 刷新超时

问题描述

我正在连接到 REST API 以将多个表带入 Power BI 文件。我可以使用主工具栏中的“获取数据 > 其他 > Web”连接到 API 并毫无问题地检索数据,然后输入以下格式的 URL:

https://api01.naturalhr.net/2.0/timeoff/key/(security key here)/format/xml

数据通常会很快返回 - 大约在 10-20 秒内。

我的问题是,当我尝试刷新相同的数据时,它通常会在 5 分钟后超时。要刷新我去'转换数据(我认为这是早期版本中的'编辑查询')>选择我感兴趣的查询(在本例中为'timeoff')>选择主菜单上的'刷新预览'按钮.

Power Query 编辑器中公式栏中的源代码再次只是:

= Xml.Tables(Web.Contents("https://api01.naturalhr.net/2.0/timeoff/key/(security key here)/format/xml"))

所以我只是试图刷新我用来检索数据的相同 URL,没有任何问题,但由于某种原因,它充其量需要更长的时间,更常见的是完全超时。

请注意,我确实对原始数据进行了一些转换,但即使我删除了所有这些,我仍然看到超时。

谁能解释为什么我可以获取但不能刷新相同的数据?非常感谢。

###EDIT:为了添加更多信息,我使用了新的 Power BI 诊断工具来尝试解决此问题。我注意到,虽然Resource列显示原始 URL,但Data Source Query列将文本“HTTP/1.1”附加到原始 URL。请看下面的截图。如果我尝试使用添加的文本建立新连接,则查询超时。谁能告诉我为什么要添加额外的文本,为什么会阻止返回数据,以及如何解决这个问题?谢谢

Power BI 诊断输出

标签: restpowerbirefresh

解决方案


在空白查询中尝试这种方式:

let

    GetData = 
        let 
            source = Web.Contents("https://api01.naturalhr.net/2.0/timeoff/key/(security key here)/format/xml"),
            xml = Xml.Document(source)
        in
            xml
in
    GetData

像@Rick Grimes 所说的那样使用 Fiddler 来查看您的请求是否正常发送。


推荐阅读