使用 Microsoft Translator 翻译 API 超时

Translation using Microsoft Translator API Timeout

我愿意使用 Microsoft Translator API 将特定文本翻译成 3 种不同的语言。我配置了它,显然,我得到的 link 应该让我翻译中断:

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'

微软翻译没有回应。它只是超时。

同一段代码几周前工作。

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

我尝试了与您相同的请求,我确实从服务器收到了响应,但它是 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

和一些代码示例 在 github 上 MicrosoftTranslator/HTTP-Code-Samples

Azure Datamarket 已关闭 - 这里有更多关于迁移到 Azure 的信息: https://translatorbusiness.uservoice.com/knowledgebase/articles/1078534-action-required-before-april-30-2017-microsoft-t