Метод Post в Power BI - PullRequest
       6

Метод Post в Power BI

0 голосов
/ 22 мая 2018

Я написал метод Power query to post следующим образом:

  let
    url = "https://XXXXXXXXXX/OAuth/Token",
    body = "{
              ""grant_type"": ""password"",
              ""client_id"": ""XXXXXXXX"",
              ""client_secret"": ""XXXXXXXXX"",
              ""redirect_uri"": ""https://XXXXXXX/home/"",
              ""username"": ""user"",
              ""password"": ""password""

    }",
   Source  = Json.Document(Web.Contents(url,
   [ 
     Headers = [#"Content-Type"="application/x-www-form-urlencoded"],
     Content=Text.ToBinary(body)
   ]
   )
   ),
    #"Converted to Table" = Record.ToTable(Source)
in
   #"Converted to Table"

Но я получаю 400 ошибочных запросов, например

DataSource.Error: Web.Contents failed to get contents from 'https://XXXXX/OAuth/Token' (400): Bad Request
Details:
    DataSourceKind=Web
    DataSourcePath=https://XXXXXXX/OAuth/Token
    Url=https://XXXXXXXXXX/OAuth/Token

Когда я пытаюсь использовать почтальон, я получаю статус 200 Ok.В чем основная ошибка в моем PQL-коде?

1 Ответ

0 голосов
/ 23 мая 2018

Вы должны отправлять тело как объединенные строки urlencoded амперсандом вместо JSON

Так тело должно выглядеть следующим образом

body="grant_type=password&client_id=XXXXXXXX&client_secret=XXXXXXXXX&redirect_uri=https%3A%2F%2FXXXXXXX%2Fhome%2F&username=user&password=password"

Посмотрите на это - Power Query, сделайте http POSTзапрос с данными формы

...