Microsoft переводчик - 502 ошибки
Вчера служба Microsoft Translator начала возвращать 502 ошибки из API после работы в течение большей части дня. Никаких изменений кода на нашей стороне. Уже более 12 часов.
У Microsoft есть тестовый веб-сайт ( 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)
Сайт поддержки ужасен, так что не уверен, что мои письма будут кому-либо адресованы. Я пробовал действительные ключи от двух разных учетных записей и все еще получаю ошибки. У кого-нибудь еще есть эта проблема?
1 ответ
У нас также есть эта проблема. Похоже, что v1 переводчика был прекращен (или не работает). Однако v2 API работает.
Я предполагаю, что вы используете форму аутентификации, которая требует только ключ вашей учетной записи 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 и Translation в пространстве имен Microsoft происходят из сгенерированного кода, который MS предоставил в первой версии перевода.
Это то, что мы сделали, и вчера оно перестало работать и у нас. Похоже, что MS принудительно (и тайно AFAIK) прекратила эту форму аутентификации в пользу своей более новой схемы аутентификации и API. Стоит отметить, что вы больше не можете получить доступ к документации по API v1 при переходе с домашних страниц API перевода MS.
Однако я смог выполнить инструкции для v2 API по этим URL-адресам, чтобы успешно создать специальный запрос на перевод HTTP с использованием моей существующей учетной записи:
При просмотре "Получение токена доступа" перейдите к нижнему примеру PowerShell для конкретных URL-адресов и не забудьте использовать POST для получения токена аутентификации и GET для запроса на перевод. Также не забудьте использовать закодированные в URL параметры для запроса токена авторизации. Я только так говорю, потому что это то, что меня сбило с толку при работе с примером, использующим PostMan в Chrome для специальных запросов.
Вполне может быть, что этот переход был хорошо задокументирован, но для некоторого плохого сока, такого как я, который наследует приложение, использующее v1 API перевода, это, безусловно, выглядит так, как будто MS просто оставил всех использующих v1 на морозе, потому что это не так. Очевидно, что при навигации по документации translate API существует даже 2 версии, не говоря уже о том, что одна из них будет прекращена.