使用Microsoft Translator API超时进行翻译

时间:2017-06-09 14:59:27

标签: php api azure curl microsoft-translator

我愿意使用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的回复并非如此。它只是超时。

几周前,同样的代码就运作了。

可能是什么原因?如何解决这个问题?

2 个答案:

答案 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)