Можно ли получить azure токен доступа к приложению AD из Power Power-запроса с HTTP-запросами POST?
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_credentials
client_id=625bc9f6xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
client_secret=bCBxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
resource=api://xxxxxxxxxxxxxxxxxxxxxxxxxxx
Ref: https://docs.microsoft.com/en-us/azure/active-directory/azuread-dev/v1-oauth2-client-creds-grant-flow#example
Хорошо, выглядит довольно просто, отлично работает с запросом Postman
или python
и показывает успешный ответ с данными json. Теперь, в чем заключается моя проблема, я хочу, чтобы через этот запрос с Power BI power query
вот мой power query
let
apiUrl = "https://login.microsoftonline.com/<tenant id>/oauth2/token",
body = "{
""grant_type"": ""client_credentials"",
""client_id"": ""625bc9f6xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"",
""client_secret"": ""bCBxxxxxxxxxxxxxxxxxxxxxxxxxxx"",
""resource"": ""api://xxxxxxxxxxxxxxxxxxxxxxxxxxx""
}",
Source = Web.Contents(apiUrl, [Headers=[#"Content-Type"="application/x-www-form-urlencoded"],
Content=Text.ToBinary(body)]),
FormatAsJson = Json.Document(Source)
in
FormatAsJson
Но там было указано «Плохой запрос»
DataSource.Error: Web.Contents failed to get contents from
'https://login.microsoftonline.com/61ed5503-xxxxxxxxxxxxxxxxx/oauth2/token' (400): Bad Request
Чего мне не хватает или почему это говорит плохой запрос? Это причина того, что это не REST API
? или есть ли другой способ сделать это? 1025 * это?