簡體   English   中英

如何使用 Google 的 credentials.json 文件在 Heroku 上部署 PHP Laravel 應用程序?

[英]How to deploy a PHP Laravel app on Heroku with Google's credentials.json file?

我有一個 PHP Laravel API,與 Google Sheet 連接以檢索一些數據。 對於作為 Google 客戶端的身份驗證,我收到了一個credentials.json文件,我將它放在本地機器上的storage/app/credentials目錄中,我將其添加到.gitignore以使其不受版本控制。 為 PHP安裝了Google Auth 庫,並將credentials.json文件的路徑設置為項目的.env文件中名為GOOGLE_APPLICATION_CREDENTIALS的變量。 所以下面的$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.gitcredentials.json設置為GOOGLE_CREDENTIALS配置變量並將google-credentials.json分配給GOOGLE_APPLICATION_CREDENTIALS ,但似乎憑據.json文件仍未在 Heroku 生產服務器上正確配置。

我感覺它應該已經開始工作了,但事實並非如此。 所以我要么缺乏基本知識,要么錯過了一些明顯的錯誤。 兩者都是可能的,但無論如何......任何幫助或見解將不勝感激!

Git 存儲庫在這里: https : //github.com/Spesm/pricing-calculator-api

出於文檔目的,這與此評論有關

似乎鏈接問題上使用的 buildpack 不起作用。 建議的替代方法是改用此 buildpack

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM