Я разрабатываю приложение PHP на своем локальном компьютере и пытаюсь использовать общедоступный API данных. Ключ был сгенерирован и хорошо работает в сети, но как только я пытаюсь выполнить его на своем локальном хосте, он возвращается
Доступ не настроен. Пожалуйста, используйте консоль разработчика Google для активации API для вашего проекта.
Я добавил эти строки в раздел «Разрешенные ссылки» в консоли разработчика.
http://127.0.0.1
127.0.0.1
http://localhost/
localhost
http://myIpAddress
myIpAddress
Кажется, никто из них не помогает. Это запрос, отправленный через GET:
https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=######&fields=items%2Fsnippet&key=#######
В соответствии с вашим ответом @ neki-doar-fraer, я сделаю объяснение более понятным для других зрителей этого поста:
Из документа API YouTube
Используйте ключ сервера, если ваше приложение работает на сервере. Не используйте это
ключ вне вашего кода сервера. Например, не вставляйте его в веб
стр. Чтобы предотвратить кражу квот, ограничьте свой ключ, чтобы запросы
разрешено только с исходных IP-адресов ваших серверов.Используйте ключ браузера, если ваше приложение работает на клиенте, таком как веб
браузер. Чтобы ваш ключ не использовался на неавторизованных сайтах,
разрешать рефералы только с доменов, которыми вы управляете.
Моя проблема не имела ничего общего с описанными здесь случаями, но могла бы помочь другим.
У меня был сценарий, когда API работал хорошо в сети, но не на локальном хосте (WAMP) после перехода со старого API.
Исправление было связано с cURL, и я действительно не могу объяснить, почему он работал онлайн, я не эксперт, это что-то связанное с SSL.
По сути, вам нужно включить проверку SSL, используя
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
От Консоль разработчика Google, предполагая, что вы уже создали проект, выберите проект, над которым вы работаете.
Затем в боковом меню слева выберите «API». & Auth «, затем» API «. На этом экране вам нужно найти API YouTube и затем нажать кнопку» Вкл. «Рядом с ним.
Я понял. Я использовал ключ браузера. Не знал, что есть разница. Сгенерировал ключ сервера и все работает.
Я всегда редактировал мой файл HOSTS, чтобы указать домену LOCALHOST при локальном тестировании https://en.wikipedia.org/wiki/Hosts_(file)