Как можно использовать JsonProvider с URL-адресами, требующими аутентификации? - PullRequest
0 голосов
/ 26 октября 2018

Я хочу сделать что-то очень похожее на то, что показано в документах для FSharp.Data :

enter image description here

URLЯ запрашиваю, хотя (TFS) требует проверки подлинности клиента.Есть ли способ, которым я могу обеспечить это, распространяя мои кредиты Windows?Я заметил, что JsonProvider имеет несколько других параметров времени компиляции, но, похоже, ни один из них не поддерживает это.

1 Ответ

0 голосов
/ 26 октября 2018

Вам не нужно указывать действующий URL в качестве параметра типа для JsonProvider;Вы также можете указать имя файла примера файла, который отражает структуру, которую вы ожидаете увидеть.С помощью этой функции вы можете выполнить следующие действия:

Сначала войдите в службу и сохраните файл JSON, который отражает API, который вы собираетесь использовать.

Затем сделайте что-нибудькак, например, следующее:

type TfsData = JsonProvider<"/path/to/sample/file.json">
let url = "https://example.com/login/etc"
// Use standard .Net API to log in with your Windows credentials
// Save the results in a variable `jsonResults`
let parsedResults = TfsData.Parse(jsonResults)
printfn "%A" parsedResults.Foo  // At this point, Intellisense should work

Все это, конечно, очень обобщенно, поскольку я не знаю точно, что вам нужно сделать, чтобы войти в службу;по-видимому, вы уже знаете, как это сделать.Ключ заключается в том, чтобы самостоятельно извлечь JSON, а затем использовать метод .Parse() указанного вами типа для его анализа.

...