Как решить ошибку Google Translate API 404 - PullRequest
0 голосов
/ 28 сентября 2018

Я использую Google translate api для перевода тела письма. Биллинг также добавляется к ключу api.Я получаю ошибку 404-not found, когда я делаю вызов API.

        var apiKey = "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$";
         var endpoints = {
      translate: "",
      detect: "detect",
      languages: "languages"
    };
      function makeApiRequest(endpoint, data, type, authNeeded) {
            url = "https://translation.googleapis.com/language/translate/v2/"+ endpoint;
      url += "?key=" + apiKey;

      // If not listing languages, send text to translate
      if (endpoint !== endpoints.languages && endpoint !== endpoints.detect) 
{
        url += "&q=" + encodeURI(data.textToTranslate1);
        url +=  "&q=" + encodeURI(data.textToTranslate2);
      }
     if (endpoint === endpoints.detect) {
        url += "&q=" + encodeURI(data.textToTranslate1);
      }

      // If translating, send target and source languages
      if (endpoint === endpoints.translate) {
        url += "&target=" + data.targetLang;
        url += "&source=" + data.sourceLang;
        url+="&format=text";
      }
     jQuery.support.cors = true;
      // Return response from API
      return $.ajax({
        url: url,
        type: type || "GET",
        data: data ? JSON.stringify(data) : "",
        dataType: "JSON",
        headers: {
          "Content-Type": "application/json",
          Accept: "application/json"
        }
      });
}

function translate(data) {
      makeApiRequest(endpoints.translate, data, 
  "GET",false).success(function(resp) {

 //the code
 });
  .on("click", "button.translate", function() {
          var translationObj = {};
          translationObj = {
            sourceLang: $(".source-lang").val(),
            targetLang: $(".target-lang").val(),
            textToTranslate1: "Good Morning",
            textToTranslate2: "Good Night"
          };

            translate(translationObj);
}

Это код запроса API, который я использую. Как только я очищаю кеш и перезагружаю приложение 5-6 раз, только тогда API дает ответ ..

Можете ли вы помочь мне здесь

1 Ответ

0 голосов
/ 20 октября 2018

Документы говорят : 404 NOT_FOUND Указанный ресурс не найден, или запрос отклонен по нераскрытым причинам, таким как белый список.

Я думаю, что эта строка может быть неправильной: url ="https://translation.googleapis.com/language/translate/v2/"+ конечная точка;

, поскольку вы добавляете дополнительный текст, который отличает конечную точку от ожидаемой. Текст в кавычках должно быть достаточно согласно документации .

Строка, которая добавляет ключ api, кажется правильной: url + = "? Key =" + apiKey;

...