使用请求正文从Microsoft Computer Vision调用Face API是“application / json”
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用请求正文从Microsoft Computer Vision调用Face API是“application / json”相关的知识,希望对你有一定的参考价值。
我正在尝试从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("
Response:
");
Console.WriteLine(JsonPrettyPrint(contentString));
Console.WriteLine("
Press Enter to exit...");
}
阅读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方法PUT
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("
Response:
");
Console.WriteLine(JsonPrettyPrint(contentString));
Console.WriteLine("
Press Enter to exit...");
}
目前,位置基本网址是:
- 美国西部 - westus.api.cognitive.microsoft.com
- West US 2 - westus2.api.cognitive.microsoft.com
- 美国东部 - eastus.api.cognitive.microsoft.com
- 东美2 - eastus2.api.cognitive.microsoft.com
- 美国中西部 - westcentralus.api.cognitive.microsoft.com
- 美国中南部 - southcentralus.api.cognitive.microsoft.com
- 西欧 - westeurope.api.cognitive.microsoft.com
- 北欧 - northeurope.api.cognitive.microsoft.com
- 东南亚 - southeastasia.api.cognitive.microsoft.com
- 东亚 - eastasia.api.cognitive.microsoft.com
- 澳大利亚东部 - australiaeast.api.cognitive.microsoft.com
- 巴西南部 - brazilsouth.api.cognitive.microsoft.com
- 加拿大中部 - canadacentral.api.cognitive.microsoft.com
- 印度中部 - centralindia.api.cognitive.microsoft.com
- 英国南部 - uksouth.api.cognitive.microsoft.com
- 日本东部 - japaneast.api.cognitive.microsoft.com
- 美国中部 - centralus.api.cognitive.microsoft.com
- 法国中部 - francecentral.api.cognitive.microsoft.com
- Korea Central - koreacentral.api.cognitive.microsoft.com
- 日本西部 - japanwest.api.cognitive.microsoft.com
- 美国中北部 - northcentralus.api.cognitive.microsoft.com
请求参数
faceListId
:有效字符是小写或数字或' - '或'_'的字母,最大长度为64。
请求标头
Content-Type
(可选):发送到API的正文的媒体类型。
Ocp-Apim-Subscription-Key
:订阅密钥,提供对此API的访问。在您的Cognitive Services帐户中找到。
请求正文
请求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.
}
我希望这可以帮到你
以上是关于使用请求正文从Microsoft Computer Vision调用Face API是“application / json”的主要内容,如果未能解决你的问题,请参考以下文章
oauth2错误AADSTS90014:请求正文必须包含以下参数:'grant_type'
82教育Microsoft: US Schools Short on Computer Science Training
无法使用 Express.js 从请求中获取 POST 正文
使用Retrofit(Okhttp)时如何从android studio中的log cat复制请求正文,标头(不带标签)?