Я готов перевести определенный текст на 3 разных языка, используя Microsoft Translator API. Я настроил его и, по-видимому, получаю ссылку, которая должна вести меня к перерывам в переводе:
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'
Ответ от Microsoft Translator не приходит. Это просто время ожидания.
Тот же кусок кода работал несколько недель назад.
Что может быть причиной? Как это исправить?
Я попробовал тот же запрос, что и вы, и я получил ответ от сервера, но это 403 запрещено. Я не могу предположить, почему код больше не работает, но если вы также получите 403, возможно, стоит обновить ключ, возможно, срок его действия истек. В противном случае поведение API резко изменилось, трудно сказать без какой-либо официальной документации.
Тем не менее, вы можете попробовать API Microsoft Cognitive Services, установка заняла около 5 минут. Вам нужно будет использовать токены носителя OAuth вместо базовой аутентификации, но в любом случае это более безопасно.
Настройка документов
https://www.microsoft.com/en-us/translator/getstarted.aspx
Получение токена
http://docs.microsofttranslator.com/oauth-token.html
И некоторые примеры кода
на github под MicrosoftTranslator / HTTP-Code-Samples
Рынок данных Azure закрыт — здесь есть дополнительная информация о переходе на Azure:
https://translatorbusiness.uservoice.com/knowledgebase/articles/1078534-action-required-before-april-30-2017-microsoft-t