无法使Microsoft Translator API词典查找正常工作

时间:2019-12-20 10:35:57

标签: azure microsoft-cognitive

我订阅了免费的Azure试用版,以使用字典查找功能,并获得了此终结点和(已编辑的)API密钥:

  

获取密钥和端点

     

key1

     

084 *** 13

     

端点

     

https://westeurope.api.cognitive.microsoft.com/

     

每次调用Cognitive Services都需要上面的订阅密钥。该密钥需要通过查询字符串参数传递或在请求标头中指定。要管理您的密钥,请使用左侧菜单中的“密钥”选项

然后在this page上找到一个简单的示例,看来我只需要替换密钥即可:

curl -X POST "https://api.cognitive.microsofttranslator.com/dictionary/lookup?api-version=3.0&from=en&to=es" -H "Ocp-Apim-Subscription-Key: <client-secret>" -H "Content-Type: application/json" -d "[{'Text':'fly'}]"

我在命令行中对其进行了测试,替换了密钥,但是没有成功:

curl -X POST "https://api.cognitive.microsofttranslator.com/dictionary/lookup?api-version=3.0&from=en&to=es" -H "Ocp-Apim-Subscription-Key: 084***13" -H "Content-Type: application/json" -d "[{'Text':'fly'}]
  

{“错误”:{“代码”:401000,“消息”:“该请求未授权,因为凭据丢失或无效。”}}

我尝试更改端点,但也没有成功:

curl -X POST "https://westeurope.api.cognitive.microsoft.com/dictionary/lookup?api-version=3.0&from=en&to=es" -H "Ocp-Apim-Subscription-Key: 084***13" -H "Content-Type: application/json" -d "[{'Text':'fly'}]
  

{“错误”:{“代码”:“ 404”,“消息”:“找不到资源”}}

我认为我遗漏了一些明显的内容,但是文档并不完全友好。我该怎么办?

1 个答案:

答案 0 :(得分:1)

您需要添加区域!

这取决于您订阅的资源,因为有两个选项,Translator Text APICognitive Services multi-service API

我可以看到您选择了Cognitive Services multi-service,因此,在这种情况下,您需要添加documentation中说明的Ocp-Apim-Subscription-Region

  

使用多服务密钥时,必须包含两个   您的请求的身份验证标头。第一道秘诀   键,第二个指定与您的   订阅。

     
      
  • Ocp-Apim-Subscription-Key
  •   
  • Ocp-Apim-Subscription-Region
  •   

我在下面添加了它,您只需要用自己的<your-key><your-region>替换即可!

curl -X POST "https://api.cognitive.microsofttranslator.com/dictionary/lookup?api-version=3.0&from=en&to=es" -H "Ocp-Apim-Subscription-Key: <your-key>" -H "Ocp-Apim-Subscription-Region: <your-region>" -H "Content-Type: application/json" -d "[{'Text':'fly'}]"