Как развернуть приложение PHP Laravel в Heroku с учетными данными Google. Файл json? - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть 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

1 Ответ

0 голосов
/ 25 февраля 2020

В целях документации, это связано с этим комментарием .

Кажется, что buildpack, используемый в связанном вопросе, не работает. Предлагаемая альтернатива - использовать этот buildpack вместо .

...