【发布时间】:2021-05-28 20:31:12
【问题描述】:
我正在尝试从 Power BI API 服务中检索数据,而这也是通过 PowerShell 代码完成的。但不幸的是,由于某些情况,我无法在生产中部署它。因此,现在我试图在 Power BI 桌面本身中完成相同的事情,以便我只能从 Power Query 调用 Power BI rest API。有大量关于在电源查询中调用 API 的博文,但它们都需要 Power BI App 注册的客户端 ID。我没有。我可以在 PowerShell 中使用我的用户名密码成功调用,甚至得到 API 的响应。
请在下面找到 PowerShell 代码,如果我们可以在 Power Query 中复制相同的代码,请告诉我。
# User credential
$User = 'shahab***@*****.com'
$Pword = ConvertTo-SecureString –String '***password***' –AsPlainText -Force
$Credential = New-Object –TypeName System.Management.Automation.PSCredential –ArgumentList $User,$Pword
# Connect to service
Login-PowerBIServiceAccount -Credential $Credential
#Get Bearer token
$headers = Get-PowerBIAccessToken
$uri = 'https://api.powerbi.com/v1.0/myorg/datasets/f52f2abc-6445-41ee-ce02-3908c6e18dd4/refreshes'
$refreshes = Invoke-RestMethod -Uri $uri -Headers $headers -Method GET
$xs= $refreshes
谢谢。
【问题讨论】:
-
我很困惑。您有一个来自 powershell 的表,但您无法将结果部署到生产中?评估 powerquery 时是 you trying to refresh a dataset 吗? -- Power Query 在 REST API 上不是很好,由于隔离查询和查询编辑器预览,它调用端点的次数比您想象的要多。 -- 这似乎是一个 XY 问题,还有其他选择,但我并不完全清楚你在做什么。
-
嗨@ninMonkey 感谢您的回复。我正在尝试从 Power BI 服务获取数据,并且正在使用 GET 方法。这是在 PowerShell 中完成的,我们也能够成功检索记录。我想在 Power Query 中使用 M 语言做同样的事情
标签: powershell api powerbi powerquery m