MS Translator возвращает пустой ответ при использовании с токеном Azure
Я уже разместил это на форуме MSDN и не получил ответа. Я пытаюсь портировать приложение, которое использует MS Translator, которое использовало старый механизм токенов аутентификации (идентификатор клиента, секрет клиента) для использования MS Azure. Для этого я настроил учетную запись Azure, добавил API-интерфейс MS Translator через когнитивные службы и сгенерировал ключи в соответствии с инструкциями, приведенными здесь: https://translatorbusiness.uservoice.com/knowledgebase/articles/1078534-microsoft-tran Я могу вызвать страницу аутентификации Azure, как описано здесь: http://docs.microsofttranslator.com/oauth-token.html Однако, когда я использую токен, полученный из этого метода (как из моего собственного запроса, так и из swagger API docs, который позволяет вам попробовать вызов), и вызвать любой из методов в API, я получаю код ответа 0 и заголовок ошибки ответа, говорящий "нет ответа от сервера".
Часть моей путаницы в том, что я не совсем уверен, какой ключ / идентификатор подписки мне следует использовать. Когда я подписался, я получил идентификатор подписки, который не работает при вызове метода issueToken. У меня также есть два сгенерированных ключа (ключ1 и ключ2) с возможностью их регенерации. Оба вернут мне authToken, но когда я вызываю любой метод в API, я получаю тот же пустой ответ.
Например, когда я вызвал метод GetLanguagesForTranslate, используя их документацию API-интерфейса swagger (то есть кнопку try it), у моего запроса были следующие заголовки:
Хост: api.microsofttranslator.com Пользователь-агент: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0 Прием: текст /html, приложение /xhtml+xml, приложение /xml;q=0,9,*/*;q=0,8 Accept-Language: en-US,en;q=0,5 Accept-Encoding: gzip, deflate, br Access-Control-Request-Method: GET Access-Control-Request-Headers: источник авторизации: htee-Ти-пи (слэш слэш)docs.microsofttranslator.com
Мой ответ пуст.
Может ли кто-нибудь дать мне понять, что происходит? Может быть потому, что по какой-то причине моя подписка является пробной? MS не позволит мне зарегистрировать билет поддержки, если я не куплю подписку. Я не хочу этого делать, потому что я работаю на клиента, и как только эта работа будет завершена, я больше не буду пользоваться подпиской. заранее спасибо
1 ответ
Похоже, вы смогли получить токен доступа с помощью ключа, полученного на портале Azure через http://docs.microsofttranslator.com/oauth-token.html.
По моему опыту, я думаю, что проблема отсутствия ответа вызвана неправильной настройкой параметров. appid
& Authorization
, Например, установка appid
значение с любой строкой (например, зарегистрированным именем службы Azure) и настройку Authorization
значение с Bearer <access-token>
,
Тем не менее, как описание для appid
ниже.
ТРЕБУЕТСЯ. Если используется заголовок Authorization, оставьте поле appid пустым, иначе укажите строку, содержащую "Bearer" + " " + токен доступа.
Это означает, что вам просто нужно установить appid
значение с Bearer <access-token>
и положить Authorization
значение пустое, как показано на рисунке ниже.
Нажмите Try it out!
, затем получил, как показано ниже.