Youtube API Uncaught (in promise) Ошибка: запрос не удался с кодом состояния 403


Youtube API Uncaught (in promise) Ошибка: запрос не удался с кодом состояния 403

06.03.2019 01:11:54 Просмотров 60 Источник

Я пытаюсь интегрировать API YouTube в новое приложение Vuejs, тестирую его в браузере и продолжаю получать ошибку 404.

У меня действительно отсутствовал www, но я продолжаю получать ту же ошибку, когда делаю запрос. Есть ли что-то, чего я не вижу в своем коде, что является неправильным? Это проблема cors? Если да, то какова стандартная практика решения этой проблемы в Vuejs? Я сделал аналогичное приложение в Reactjs и не столкнулся с этой проблемой.

<template>
  <div>
    <SearchBar @termChange="onTermChange"></SearchBar>
  </div>
</template>

<script>
import axios from "axios";
import SearchBar from "./components/SearchBar";
const API_KEY = "<api_key>";

export default {
  name: "App",
  components: {
    SearchBar
  },
  methods: {
    onTermChange(searchTerm) {
      axios
        .get("https://www.googleapis.com/youtube/v3/search", {
          params: {
            keys: API_KEY,
            type: "video",
            part: "snippet",
            q: searchTerm
          }
        })
        .then(response => console.log(response));
    }
  }
};
</script>

Я действительно заметил в ответе, что получил это сообщение:

"code": 403,
  "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
 }
}

Я не совсем понимаю, что это значит.

У вопроса есть решение - Посмотреть?

Ответы - Youtube API Uncaught (in promise) Ошибка: запрос не удался с кодом состояния 403 / Youtube API Uncaught (in promise) Error: Request failed with status code 403

Является ответом!
Mark

06.03.2019 01:16:25

"code": 403,
  "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup."
 }
}

Это означает, что вы превысили свой лимит на показ видео с youtube. Вам нужно создать учетную запись, чтобы иметь возможность показывать больше видео.

Если вы уверены, что не превысили свой лимит/ у вас есть учетная запись, дважды проверьте свою консоль разработчика, что API включен. Консоль Разработчика.

То, что я хотел бы предложить, чтобы добавить catch вашего звонка, чтобы обрабатывать ошибки в будущем.

axios
  .get("https://www.googleapis.com/youtube/v3/search", {
    params: {
      keys: API_KEY,
      type: "video",
      part: "snippet",
      q: searchTerm
    }
  })
  .then(response => console.log(response));
  .catch(err => { console.log(err); }
mooga

06.03.2019 01:17:09

Поместите свой ключ Api в url-адрес, например

"https://www.googleapis.com/youtube/v3/search?key=YOUR_API_KEY"

axios.get("https://www.googleapis.com/youtube/v3/search?key=Your_Api_Key", {
          params: {
            type: "video",
            part: "snippet",
            q: searchTerm
          }
        })
        .then(response => console.log(response));

Вы также найдете пример здесь

user2697389

06.11.2020 07:32:06

Решите эту проблему, настроив/обновив / включив настройки.

Ключ api работал в прошлом для меня. Вернувшись, чтобы использовать его снова, я получил ошибку 403.

Сервер понял мой запрос, но отказал мне в доступе к информации.

Просто зайдите в консоль разработчиков, перейдите в раздел Включить API, найдите youtube и включите его, ваш ключ теперь будет работать так, как ожидалось.

enter image description here

Помочь в развитии проекта:
Закрыть X