![](/img/trans.png)
[英]PHP fatal error: file "credentials.json" does not exist in vendor/google/apiclient/src/Client.php:982 when trying to run Google's example script
[英]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.git將credentials.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.