我正在尝试从Microsoft网站调用Face API,并在他们的网站上找到了示例代码。在他们的代码中,他们以"Detect API"
为例,但是我想测试"Create Face List"
API。我发现需要将“内容类型”从“ application / octet-stream”更改为“ application / json”,并填写“ Json字段”。不幸的是,我是调用API方面的新手。
希望你们能帮上忙。
Here是示例代码的链接。
here是“创建面孔列表” API的链接。
using (ByteArrayContent content = new ByteArrayContent(byteData))
{
// This example uses content type "application/octet-stream".
// The other content types you can use are "application/json"
// and "multipart/form-data".
content.Headers.ContentType =
new MediaTypeHeaderValue("application/octet-stream");
// Execute the REST API call.
response = await client.PostAsync(uri, content);
// Get the JSON response.
string contentString = await response.Content.ReadAsStringAsync();
// Display the JSON response.
Console.WriteLine("\nResponse:\n");
Console.WriteLine(JsonPrettyPrint(contentString));
Console.WriteLine("\nPress Enter to exit...");
}
答案 0 :(得分:0)
阅读documentation时,我发现对于ws“创建FaceList”,您必须调用Http Put
方法,其内容类型为application/json
。
以下是此服务的说明:
FaceList-创建 使用用户指定的faceListId,名称和可选的userData创建一个空的面孔列表。一个订阅中最多允许包含64个面孔列表。 面孔列表是面孔的列表,最多可包含1,000张面孔,供面孔-查找相似者使用。 创建后,用户应使用FaceList-Add Face导入面孔。面部存储在服务器上,直到调用FaceList-Delete。 “查找相似”用于诸如查找名人般的面孔,相似的面部过滤或作为人脸识别的简便方法的场景。但是,如果实际使用的是识别人,请使用PersonGroup / LargePersonGroup和Face-Identify。 当脸数较大时,请考虑使用LargeFaceList。它最多可以支持1,000,000张脸。
Http方法 放
var client = new HttpClient();
var queryString = HttpUtility.ParseQueryString(string.Empty);
// Request headers
client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "{subscription key}");
var uri = "https://westcentralus.api.cognitive.microsoft.com/face/v1.0/facelists/{faceListId}?" + queryString;
HttpResponseMessage response;
// Request body
byte[] byteData = Encoding.UTF8.GetBytes("{\"name\": \"sample_list\",\"userData\": \"User-provided data attached to the face list.\"}");
using (var content = new ByteArrayContent(byteData))
{
content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
response = await client.PutAsync(uri, content);
// Get the JSON response.
string contentString = await response.Content.ReadAsStringAsync();
// Display the JSON response.
Console.WriteLine("\nResponse:\n");
Console.WriteLine(JsonPrettyPrint(contentString));
Console.WriteLine("\nPress Enter to exit...");
}
当前,位置基准网址是那些:
请求参数
faceListId
:有效字符是小写字母或数字或'-'或'_',最大长度为64。
请求标头
Content-Type
(可选):发送到API的正文的媒体类型。
Ocp-Apim-Subscription-Key
:订阅密钥,可用于访问此API。在您的认知服务帐户中找到。
请求正文
请求body
中的JSON字段:
{
"name": "sample_list",//Name of the created face list, maximum length is 128.
"userData": "User-provided data attached to the face list." //Optional user defined data for the face list. Length should not exceed 16KB.
}
希望对您有帮助