Какой аргумент я должен указать в теле запроса API Google Translate? - PullRequest
2 голосов
/ 24 апреля 2020
try {
const response = await fetch(googleTranslateApi + apiKey, {
    method: 'POST',
    headers: {
           Accept: 'application/json',
           'Content-Type': 'application/json',
           charset: 'UTF-8',

     },
    body: JSON.stringify({
        requests: [
          {
            q: 'Hello My Friend',
            target: 'zh',

           }

          ]
    })
});
const responseJson = await response.json();

Я пытаюсь вызвать API Google Translate, но постоянно получаю эту ошибку:

ошибка: {код: 400, сообщение: "Отсутствует требуемая цель поля", ошибки : Array (1), статус: "INVALID_ARGUMENT"}

что мне не хватает в теле запроса?

1 Ответ

2 голосов
/ 24 апреля 2020

Я считаю, что у вас есть правильные данные в вашем теле запроса, только отформатированный неправильно. У вас есть свойства q и target, вложенные в объект, который находится внутри массива, который находится внутри вашего тела тела запроса верхнего уровня. Вместо этого поместите свойства q и target непосредственно в объект тела запроса верхнего уровня, например:

try {
const response = await fetch(googleTranslateApi + apiKey, {
    method: 'POST',
    headers: {
           Accept: 'application/json',
           'Content-Type': 'application/json',
           charset: 'UTF-8',

     },
    body: JSON.stringify({
      q: 'Hello My Friend',
      target: 'zh'
    })
});
const responseJson = await response.json();
...