Мы также с этой проблемой. Похоже, что 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;
The TranslatorContainer и переводов классов в пространстве имен Microsoft поступают из сгенерированного кода, MS, снабженного первой версии перевод.
Это то, что мы сделали, и оно прекратило работать вчера и для нас. Похоже, что MS решительно (и тайно AFAIK) прекратила эту форму аутентификации в пользу своей новой схемы аутентификации и API. Стоит отметить, что вы больше не можете обращаться к документации для v1 API при навигации с веб-страниц API перевода.
Однако, я был в состоянии следовать инструкциям v2 по API в этих URL, чтобы успешно создать запрос одноранговой HTTP перевода с помощью моей существующей учетной записи:
Using the HTTP Interface
Obtaining an Access Token
При просмотре «Получение токена доступа» перейдите к нижнему примеру PowerShell для определенных URL-адресов и не забудьте использовать POST для получения токена аутентификации и GET для запроса перевода. Также не забудьте использовать параметры, закодированные в URL-адресе для запроса маркера auth. Я только так говорю, потому что это те вещи, которые споткнулись меня при работе с примером, использующим PostMan в Chrome для специальных запросов.
Возможно, этот переход был хорошо документирован, но для некоторого плохого сока, подобного мне, который наследует приложение, использующее v1 API-интерфейса для перевода, наверняка выглядит так: MS просто оставил всех, кто использовал v1 в холоде, потому что это не очевидно при навигации по документации API перевода, что есть даже две версии, не говоря уже о том, что один будет прекращен.
Я понимаю, что работа с их поддержкой клиентов - это не весело, но этот вопрос не соответствует теме, так как речь идет не о программировании. Попробуйте несколько форумов? – AgataB
Я понимаю вашу точку зрения, но на данный момент я не уверен, что проблема в том, чтобы пытаться многократные углы. У MS нет официального канала поддержки для Microsoft Translate по-видимому (кроме биллинга), поэтому я даже не могу позвонить по номеру телефона и заплатить за помощь.Их собственные форумы устарели, и никто из MS, похоже, не отвечает на вопросы. Я не уверен, что что-то изменилось с их API (что будет проблемой программирования), или если MS Translate - это просто умирающая служба, и никто там не заботится. –
@AgataB - Я настоятельно рекомендую оставить этот вопрос открытым. Ответ включает в себя изменения в кодировании (API коммутации), и сама проблема очень специфична. И эта страница становится лучшим хитом в Google при поиске решений этой проблемы. – Ian