Код: Выделить всё
.envenv
Код: Выделить всё
VITE_UNSPLASH_KEY=my_actual_key
VITE_PEXELS_KEY=my_actual_key
VITE_GIPHY_KEY=my_actual_key
Javascript
Код: Выделить всё
import axios from "axios";
const UNSPLASH_KEY = import.meta.env.VITE_UNSPLASH_KEY;
const PEXELS_KEY = import.meta.env.VITE_PEXELS_KEY;
const GIPHY_KEY = import.meta.env.VITE_GIPHY_KEY;
console.log(GIPHY_KEY); // Prints the key correctly in console
export async function fetchgif(query, page = 1, per_page = 20) {
const res = await axios.get(`https://api.giphy.com/v1/gifs/search`, {
params: {
api_key: GIPHY_KEY,
q: query,
limit: per_page,
offset: (page - 1) * per_page,
},
});
console.log(res.data.data);
}
-
Когда я жестко запрограммировал ключи API непосредственно в коде, все работает отлично
-
console.log() показывает, что ключи загружаются из .env правильно
Pexels API работает нормально с переменной env
API Unsplash и Giphy возвращают 401 Unauthorized с переменными env
- Сервер Dev перезапускался несколько раз
- В файле .env нет видимых пробелов или специальных символов
- Несколько раз перезапустить сервер разработки
- Проверка того, что файл .env находится в корневом каталоге (тот же уровень, что и package.json)
- Проверка среды имена переменных начинаются с VITE_
- Подтверждение работы ключей при жестком кодировании
- Использование .trim() для ключей
Почему один API (Pexels) идеально работает со средой переменная, в то время как два других терпят неудачу с ошибкой 401, хотя все три настроены одинаково?
Есть идеи, что может быть причиной такого непоследовательного поведения?
Подробнее здесь: https://stackoverflow.com/questions/798 ... e-in-conso
Мобильная версия