Azure active directory Azure HTTP POST从Power BI请求访问令牌
是否可以通过HTTP POST请求从Power BI Power query获取azure AD app访问令牌 HTTP POST请求:Azure active directory Azure HTTP POST从Power BI请求访问令牌,azure-active-directory,http-post,powerbi,powerquery,Azure Active Directory,Http Post,Powerbi,Powerquery,是否可以通过HTTP POST请求从Power BI Power query获取azure AD app访问令牌 HTTP POST请求: //request url https://login.microsoftonline.com/<tenant id>/oauth2/token //header Content-Type: application/x-www-form-urlencoded //request body grant_type=client_credentia
//request url
https://login.microsoftonline.com/<tenant id>/oauth2/token
//header
Content-Type: application/x-www-form-urlencoded
//request body
grant_type=client_credentials
client_id=625bc9f6xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
client_secret=bCBxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
resource=api://xxxxxxxxxxxxxxxxxxxxxxxxxxx
但它说这是个错误的要求
DataSource.Error: Web.Contents failed to get contents from
'https://login.microsoftonline.com/61ed5503-xxxxxxxxxxxxxxxxx/oauth2/token' (400): Bad Request
我遗漏了什么,或者为什么它说请求不好?
这就是它不是RESTAPI的原因吗?
还是有其他方法来完成它?我解决了它,实际上我还需要添加一些额外的术语,还有我自己犯的一个愚蠢的错误, 正确的查询
let
apiUrl = "https://login.windows.net/61xxxxxxxxxxxx/oauth2/token",
body = [
client_id="3728xxxxxxxxxxxxxx5",
grant_type="client_credentials",
client_secret="bxxxxxxxxxxxxh",
resource="api://xxxxxxxxxxxxxxxx5"
],
Source = Json.Document(Web.Contents(apiUrl, [Headers = [Accept = "application/json"],
Content = Text.ToBinary(Uri.BuildQueryString(body))]))
in
Source
这是一个错误的请求,因此可能是url构造中的错误。你能用小提琴检查一下吗?使用Postman之类的工具,将您的请求与Power Query和正在运行的请求进行比较。谢谢@Dreekun的建议,我会尝试一下,让您知道会发生什么。
let
apiUrl = "https://login.windows.net/61xxxxxxxxxxxx/oauth2/token",
body = [
client_id="3728xxxxxxxxxxxxxx5",
grant_type="client_credentials",
client_secret="bxxxxxxxxxxxxh",
resource="api://xxxxxxxxxxxxxxxx5"
],
Source = Json.Document(Web.Contents(apiUrl, [Headers = [Accept = "application/json"],
Content = Text.ToBinary(Uri.BuildQueryString(body))]))
in
Source