Azure API переводчика всегда дает мне 404 - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь использовать API переводчика через бесплатную пробную подписку. После его создания я устанавливаю группы ресурсов и добавляю к ним когнитивные услуги. На этой странице когнитивной службы я следовал руководству «Быстрый старт» и получил пару ключей и URL КОНЕЧНОЙ ТОЧКИ.

Затем я последовал этому документу. В нем говорится, что для использования API переводчика необходимы ключ API и конечная точка. И я получаю их из раздела УПРАВЛЕНИЕ РЕСУРСАМИ> Ключи и конечные точки.

https://docs.microsoft.com/en-gb/azure/cognitive-services/translator/quickstart-translate?pivots=programming-language-javascript

Но я всегда получаю код состояния 404 от этого API каждый раз, когда отправляю запрос . Что я делаю неправильно? Как я могу использовать этот API?

SubscriptionID: zzzzzzzzzzzzzzzzzzzzzzzzzzzzz

Мой код:

 const subscriptionKey = 'my-sub-key'; // There are two keys, key1 and key2. I use key1 here.
 const endpoint = 'https://japaneast.api.cognitive.microsoft.com/';
 const options = {
        method: 'POST',
        baseUrl: endpoint,
        url: 'translate',
        qs: {
          'api-version': '3.0',
          'to': 'en'
        },
        headers: {
          'Ocp-Apim-Subscription-Key': subscriptionKey,
          'Content-type': 'application/json',
          'X-ClientTraceId': uuidv4().toString()
        },
        body: [{
          'text': 'hello world'
        }],
        json: true,
 };
 request(options, function (err, resFromMicrosoft, body) {
        res.json(resFromMicrosoft);
}

Ответ об ошибке:

{
        "statusCode": 404,
        "body": {
            "error": {
                "code": "404",
                "message": "Resource not found"
            }
        },
        "headers": {
            "content-length": "56",
            "content-type": "application/json",
            "apim-request-id": "e2ae69cc-b93c-4db2-aef4-47096eb3ec61",
            "strict-transport-security": "max-age=31536000; includeSubDomains; preload",
            "x-content-type-options": "nosniff",
            "date": "Fri, 19 Jun 2020 06:11:24 GMT",
            "connection": "close"
        },
        "request": {
            "uri": {
                "protocol": "https:",
                "slashes": true,
                "auth": null,
                "host": "japaneast.api.cognitive.microsoft.com",
                "port": null,
                "hostname": "japaneast.api.cognitive.microsoft.com",
                "hash": null,
                "search": "?api-version=3.0&to=en",
                "query": "api-version=3.0&to=en",
                "pathname": "/translate",
                "path": "/translate?api-version=3.0&to=en",
                "href": "https://japaneast.api.cognitive.microsoft.com/translate?api-version=3.0&to=en"
            },
            "method": "POST",
            "headers": {
                "Ocp-Apim-Subscription-Key": "my-sub-key",
                "Content-type": "application/json",
                "X-ClientTraceId": "8eedf6f4-db0c-45cb-a95b-92a2797df067",
                "accept": "application/json",
                "content-length": 83
            }
        }
    }

Ответы [ 2 ]

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

Я видел ваш комментарий о получении 401 после использования глобальной конечной точки. Вам по-прежнему нужно использовать глобальную конечную точку, как указано Swetha.

Это может помочь https://github.com/MicrosoftDocs/azure-docs/issues/57430#event -3480744006

(со страницы выше) «Похоже, вы используют общий ресурс когнитивной службы и ключ. Большинство служб перешли на использование отдельного типа ресурса, и если вы можете создать и использовать ресурс переводчика, шаги, упомянутые в документации, должны работать как есть. "

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

Как указано в документации, используйте глобальную конечную точку - https://api.cognitive.microsofttranslator.com/

...