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!, затем получил, как показано ниже.

введите описание изображения здесь

Другие вопросы по тегам