2016-12-05 107 views
0

访问微软认知服务我收到以下错误,同时访问Microsoft认知API:通过RESTful服务

enter image description here

我100%肯定,我的订阅密钥是有效的,因为我已经测试它在DHC以及牛津项目的在线工具。

我正在使用Microsoft提供的示例代码。这是...

var client = new HttpClient(); 
var queryString = HttpUtility.ParseQueryString("safeee"); 

client.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", "{bce8988422e94fd3ac64xxxxxxxxxxxx}"); 

var uri = "https://api.projectoxford.ai/face/v1.0/persongroups/{personGroupId}?" + queryString; 

HttpResponseMessage response; 

byte[] byteData = Encoding.UTF8.GetBytes("{body}"); 

using (var content = new ByteArrayContent(byteData)) 
{ 
    content.Headers.ContentType = new MediaTypeHeaderValue("application/json"); 
    response = await client.PutAsync(uri, content); 

    MessageBox.Show(response.ToString()); 
} 
+0

你的钥匙应该放在大括号'{}'里面吗?我见过的其他样本没有内置大括号。 – Equalsk

+0

您是否尝试使用其他帐户创建新的订阅密钥?如果您的帐户出现问题,则需要使用Microsoft支持进行检查。 –

+0

@Equalsk我试过没有大括号。然后它给出“错误请求”的错误 – Safee

回答

0

对于微软认知服务网站上的任何代码段,其中包括page而我相信你指的,你需要替换所有的花括弧串用适当的值。在你的情况,你需要:

  1. queryString掉落查询字符串"safeee"。此特定端点没有查询参数。
  2. 将大括号放入Ocp-Apim-Subscription-Key值(听起来像您试过的那样)。
  3. 给出一个合适的personGroupId值。根据上述页面上的文档,“有效字符包括数字,英文字母小写,' - '和'_',personGroupId的最大长度为64。
  4. body提供适当的JSON值。在你的情况下,你可能只需使用"{\"name\":\"safeee\"}"