F#Type提供者和Sky Biometry

时间:2014-06-19 14:56:05

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

是否有人使用Sky Biometry的F#类型提供商?

大多数调用都适用于类型提供程序。但是,当我调用faces / recogn方法时,我使用Json和Xml类型提供程序时失败。

使用Json,我声明了这样的类型:

type skybiometryJsonFaceRecognition = JsonProvider<"http://api.skybiometry.com/fc/faces/recognize.json?uids=default@ImageComparer&urls=https://lg2014dev.blob.core.windows.net/d69bdda9-d934-448c-acae-99019f3a564f/01ee184f-ff0b-426f-872a-cbc81ef58d90.jpg&api_key=XXXXX&api_secret=yyyyy">

当我尝试在代码中使用类型时,它在图表的最后部分失败了:

let recognition = skybiometryJsonFaceRecognition.Load(stringBuilder.ToString())

应该是:

recognition.Photos.[0].Tags.[0].Uids.[0].confidence

但我得到了:

recognition.Photos.[0].Tags.[0].Uids.[0].JsonValue

然后我转换到Xml类型提供程序只进行这一次调用,我正在进行intellisense工作:

let recognition = skybiometryXmlFaceRecognition.Load(stringBuilder.ToString())
recognition.Photos.Photo.Tags.Tag.Uids.Uid.Confidence

但是当我运行它时,我得到了

System.Xml.XmlException:根级别的数据无效。第1行,第1位。

在浏览器的调用中查看XML,对我来说确实很好看:

enter image description here

有没有人有任何建议?感谢

1 个答案:

答案 0 :(得分:1)

感谢ntr的建议,我将def类型更改为使用本地存储。然后Json TP发现所有道具和实际呼叫按预期工作。谢谢大家。