JsonProvider如何与需要身份验证的URL一起使用?

时间:2018-10-26 19:15:18

标签: http f# type-providers f#-data

我想做的事情与docs for FSharp.Data中显示的内容非常相似:

enter image description here

我从中请求的URL(TFS)需要客户端身份验证。我可以通过传播Windows信誉来提供此方法吗?我注意到html.nav-is-active { position: fixed; overflow-y:scroll; } 还有一些其他的编译时参数,但是似乎没有一个对此提供支持。

1 个答案:

答案 0 :(得分:3)

您不必提供实时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()方法进行解析。