У меня есть PHP Laravel API, связанный с Google Sheet для получения некоторых данных. Для аутентификации в качестве клиента Google я получил учетные данные. json файл, который я поместил в каталог storage / app / credentials на моем локальном компьютере, который я добавил в .gitignore , чтобы сохранить его от контроля версий. Я установил библиотеку Google Auth для PHP и установил путь к учетным данным. json в качестве переменной с именем GOOGLE_APPLICATION_CREDENTIALS в проекта .env файл. Так что $credential
ниже просто содержит путь к файлу JSON.
$credential = getenv('GOOGLE_APPLICATION_CREDENTIALS');
$client = new Google_Client();
$client->setApplicationName('Pricing Calculator');
$client->setScopes(Google_Service_Sheets::SPREADSHEETS);
$client->setAuthConfig($credential);
$client->setAccessType('offline');
При этом API работает в моей локальной среде, но на производстве я продолжаю возвращать внутреннюю ошибку 500 сервера. Я добавил buildpack https://github.com/elishaterada/heroku-google-application-credentials-buildpack.git, чтобы установить учетные данные. json как GOOGLE_CREDENTIALS Config Var и назначил google-credentials. json до GOOGLE_APPLICATION_CREDENTIALS , но, похоже, учетные данные . json все еще не настроен правильно на рабочем сервере Heroku.
У меня такое чувство, что оно должно работать уже, но это не так. Так что мне либо не хватает необходимых знаний, либо я упустил какую-то очевидную ошибку. И то и другое возможно, но в любом случае ... любая помощь или понимание будут высоко оценены!
Репо Git находится здесь: https://github.com/Spesm/pricing-calculator-api