Получение ошибки 404 при попытке получить список голосов в системе преобразования текста в речь Microsoft - PullRequest
0 голосов
/ 20 июня 2020

Я просто устанавливаю REST-версию Microsoft Text-to-speech.

Я успешно получил токен AUTH и могу получить голосовой ответ. (Итак, я знаю, что все мои ключи / конечные точки API работают). Моя проблема в том, что я продолжаю получать ошибку 404, когда пытаюсь получить СПИСОК ГОЛОСОВ.

Я скопировал код прямо с веб-сайта Microsoft (https://docs.microsoft.com/en-us/azure/cognitive-services/speech-service/quickstart-python-get-text-to-speech-voices) следующим образом:

def get_voices(self):
    base_url = 'https://westus.tts.speech.microsoft.com'
    path = '/cognitiveservices/voices/list'
    get_voices_url = base_url + path
    headers = {
        'Authorization': 'Bearer ' + self.access_token
    }
    response = requests.get(get_voices_url, headers=headers)
    if response.status_code == 200:
        with open('voices.json', 'wb') as voices:
            voices.write(response.content)
            print("\nStatus code: " + str(response.status_code) +
                  "\nvoices.json is ready to view.\n")
    else:
        print("\nStatus code: " + str(
            response.status_code) + "\nSomething went wrong. Check your subscription key and headers.\n")

И затем я вызываю его, используя:

if __name__ == "__main__":
subscription_key = [MY_API_KEY...this works]
app = GetVoices(subscription_key)
app.get_token()
app.get_voices()

Проблема в том, что он возвращает «Код состояния: 404 Что-то пошло не так. Проверьте ключ подписки и заголовки»

Я получаю действительный токен (я знаю это, потому что могу успешно вызвать их метод save_audio () с теми же учетными данными и токеном), так что проблема не в этом. Интересно, изменились ли URL-адреса? или если документация устарела? не похоже, что многое другое могло go ошибиться.

(кстати, в документации указано использование GET vs POST для этого метода ... Я пробовал оба способа с теми же результатами).

Есть идеи?

Ответы [ 2 ]

0 голосов
/ 22 июня 2020

Просто убедитесь, что токен предназначен для Западной части США?

0 голосов
/ 20 июня 2020

Я пытался получить список голосов, используя коды python и Postman, все они у меня работали. Код ошибки 404 всегда означает, что сервер недоступен, поэтому не могли бы вы проверить настройки брандмауэра, чтобы узнать, заблокирована ли ссылка? Вы можете просто посетить https://westus.tts.speech.microsoft.com/cognitiveservices/voices/list с помощью браузера, вы получите 401 вместо 404.

...