【问题标题】:Translation using Microsoft Translator API Timeout使用 Microsoft Translator API Timeout 进行翻译
【发布时间】:2017-06-09 14:59:27
【问题描述】:

我愿意使用 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'

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

同样的代码在几周前就可以工作了。

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

【问题讨论】:

    标签: php api azure curl microsoft-translator


    【解决方案1】:

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

    【讨论】:

    • 我添加了 Translator API 订阅。我有 2 个不同的访问密钥和一个订阅 ID,但我不是应该替换旧 accountKey 的那个。我从您的回答中了解到我应该生成一个 oauth 令牌,但我不确定我应该如何做以及应该在哪里使用它。请你帮我解决一下好吗?
    【解决方案2】:

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

    【讨论】:

    • 请不要发布只是外部资源链接的答案。如果该链接断开,那么您的答案将无效。鼓励发布指向其他资源的链接,但您还应该在帖子中包含有关来自该外部资源或其他资源的相关信息的信息。请查看This meta post 了解更多关于为什么这通常被不赞成并被视为离题的原因。
    • 谢谢你,罗莎。事实上,解决方案是将 Microsoft Translator API 迁移到 Azure。我开始了这个过程,我希望一切都会好起来的。免费帐户有一些限制。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多