我愿意使用Microsoft Translator API翻译3种不同语言的特定文本。我配置了它,显然,我得到的链接应该让我去翻译休息时间:
https://api.datamarket.azure.com/Data.ashx/Bing/MicrosoftTranslator/v1/Translate?Text=%27Osteopathy%27&From=%27en%27&To=%27nl%27&$format=Raw&$top=100
我也在我的终端上尝试了curl,授权,但似乎没有回复:
$ curl -H 'Authorization: Basic ***my authorization_key encoded in base64***' 'https://api.datamarket.azure.com/Data.ashx/Bing /MicrosoftTranslator/v1/Translate?Text=%27Osteopathy+for+Babies%27&From=%27en%27&To=%27nl%27&$format=Raw&$top=100'
Microsoft Translator的回复并非如此。它只是超时。
几周前,同样的代码就运作了。
可能是什么原因?如何解决这个问题?
答案 0 :(得分:4)
我尝试了与您相同的请求,但我确实收到了来自服务器的回复,但这是禁止的403。我不能推测为什么代码不再有效,但如果你还得到403,那么可能值得刷新密钥,它可能已经过期了。否则,API的行为已经发生了变化,没有任何官方文档很难说。
但是,您可以尝试Microsoft Cognitive Services API,大约需要5分钟来设置。您将需要使用OAuth承载令牌而不是基本身份验证,但无论如何这都更安全。
设置文档 https://www.microsoft.com/en-us/translator/getstarted.aspx
获取令牌 http://docs.microsofttranslator.com/oauth-token.html
还有一些代码示例 在MicrosoftTranslator / HTTP-Code-Samples
下的github上答案 1 :(得分:1)
Azure Datamarket已关闭 - 此处有关于迁移到Azure的更多信息: https://translatorbusiness.uservoice.com/knowledgebase/articles/1078534-action-required-before-april-30-2017-microsoft-t