Недавно я зарегистрировался в Microsoft Azure и настроил учетную запись Cognitive Services. Используя инструкции из Документация по API перевода текста, мне удалось получить токен аутентификации из службы /issueToken с использованием интерактивного онлайн-примера. Однако, если я хочу использовать этот токен (например, для интерактивного / перевести пример) я получаю ответ
<html><body><h1>Argument Exception</h1><p>Method: Translate()</p><p>Parameter: </p><p>Message: The received token is of incorrect token type.</p><code></code><p>message id=0344.V2_Rest.Translate.3D8A6FF1</p></body></html>
Что я делаю не так? Как должен выглядеть токен и в каком формате я должен его предоставить? В онлайн-примере я указал токен, установив в поле appid значение «Bearer [token]», где [token] — это ответ от < em>/issueToken.
В моем случае токен представляет собой строку длиной 687 символов, которую можно разделить на три части (используя '.' в качестве разделителя). Первые две части имеют кодировку base64 и просто содержат некоторую информацию в кодировке JSON, которая остается неизменной (за исключением поля даты истечения срока действия). Третья и последняя часть каждый раз меняется и не может быть декодирована с помощью base64. Вместо предоставления полного токена я также пытался просто использовать различные подстроки полного токена, но пока безуспешно.
Я также попытался пройти аутентификацию через curl, используя заголовок Authentication вместо поля appid, что также не сработало для меня.