Mam następujący kod, modyfikowany Google's documentation:Google Cloud API - Application domyślne Poświadczenia
$GOOGLE_APPLICATION_CREDENTIALS = "./[path].json";
$_ENV["GOOGLE_APPLICATION_CREDENTIALS"] = "./[path].json";
$_SERVER["GOOGLE_APPLICATION_CREDENTIALS"] = "./[path].json";
$projectId = "[my project's ID']";
$client = new Google_Client();
$client->useApplicationDefaultCredentials();
$client->setScopes(['https://www.googleapis.com/auth/books']);
$service = new Google_Service_Books($client);
$results = $service->volumes->listVolumes('Henry David Thoreau');
Jednak gdy uruchamiam go zwraca błąd:
PHP Fatal error: Uncaught exception 'DomainException' with message 'Could not load the default credentials. Browse to https://developers.google.com/accounts/docs/application-default-credentials for more information'
Próbowałem różnych konfiguracji, na przykład zmiana ścieżki pliku. Jak widzisz, zrobiłem również trzy różne formy zmiennych, o których mogłem od razu pomyśleć (dwa środowiska, jeden nie).
Nie jestem pewien, gdzie szukać dalej. Czy powinienem spojrzeć na różne sposoby ustawiania zmiennej środowiskowej, czy też powinienem zdefiniować ścieżkę w inny sposób? Jakie są właściwe sposoby robienia tego? Czy jest jakiś inny powód błędu?
Gdzie są uruchomione kod z aplikacji (np. Prod silnika lub dev, Compute Engine lokalnie)? – Adam
@Adam Lokalnie, w systemie Windows/Apache. Jednak buduję coś, co będzie działać w systemie Linux/NGINX. – laef