昨天,微软翻译服务在工作了一天的大部分时间后,开始从API返回502个错误。我们这边没有代码更改。它已经停机超过12个小时了。
微软有一个测试网站(https://datamarket.azure.com/dataset/explore/bing/microsofttranslator)也会返回这个错误,所以我非常确信这不是我们的代码。该站点返回的错误为:
The request resulted in a backend time out or backend error. The team
is investigating the issue. We are sorry for the inconvenience. (502)该支持网站是可怕的,所以我不相信我的电子邮件会发送给任何人。我已经尝试了来自两个不同帐户的有效密钥,但仍然收到错误。还有谁有这个问题吗??
Screen shot of error here
发布于 2016-10-04 02:03:37
我们也有这个问题。翻译器的v1似乎已停产(或已停止服务)。然而,API的v2是有效的。
我猜您使用的身份验证形式只需要您的MS datamarket帐户密钥(这里可以找到:https://datamarket.azure.com/account/keys)。
对于这种形式的身份验证,您可以使用类似于以下代码的代码进行转换:
Microsoft.TranslatorContainer xlator = new Microsoft.TranslatorContainer("https://api.datamarket.azure.com/Bing/MicrosoftTranslator/v1/Translate");
xlator.Credentials = new NetworkCredential("account key, "account key");
DataServiceQuery<Microsoft.Translation> xlateQry = xlator.Translate("translate me", "en", "fr");
Microsoft.Translation xlateResult = xlateQry.Execute().First();
translateOutput = xlateResult.Text;微软名称空间中的TranslatorContainer和翻译类来自微软随翻译的第一个版本提供的生成代码。
这就是我们所做的,它昨天也停止了对我们的工作。似乎MS已经强行(并且秘密地AFAIK)停止了这种形式的身份验证,转而支持他们更新的身份验证方案和API。值得注意的是,从MS translate API主页导航时,您将无法再访问v1的文档。
但是,我能够按照这些URL上的API的说明,使用我现有的帐户成功地创建一个即席v2转换请求:
在查看“获取访问令牌”时,请转到特定URL的底部PowerShell示例,并记住使用POST来获取转换请求的auth令牌和get。还要记住对auth令牌请求使用url编码的参数。我之所以这么说,是因为当我在Chrome中使用PostMan来处理即席请求时,这些事情就会让我犯错。
很可能这个转变已经有了很好的文档,但是对于像我这样的一些可怜的sap来说,继承了一个使用translate API的v1的应用程序,它看起来肯定像是MS让所有使用v1的人都被冷落了,因为当导航translate API文档时,甚至没有明显的两个版本,更不用说那个版本将被停止使用。
https://stackoverflow.com/questions/39809753
复制相似问题