我订阅了免费的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”,“消息”:“找不到资源”}}
我认为我遗漏了一些明显的内容,但是文档并不完全友好。我该怎么办?
答案 0 :(得分:1)
您需要添加区域!
这取决于您订阅的资源,因为有两个选项,Translator Text API和Cognitive 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'}]"