php – Google Cloud API – 应用程序默认凭据
发布时间:2020-12-13 18:13:21 所属栏目:PHP教程 来源:网络整理
导读:我有以下代码,从 Google’s documentation修改: $GOOGLE_APPLICATION_CREDENTIALS = "./[path].json"; $_ENV["GOOGLE_APPLICATION_CREDENTIALS"] = "./[path].json"; $_SERVER["GOOGLE_APPLICATION_CREDENTIALS"] = "./[path].json"; $projectId = "[my pro
我有以下代码,从
Google’s documentation修改:
$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'); 然而,当我运行它时,它返回错误: 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' 我尝试了各种配置,例如更改文件的路径.如你所见,我也做了三种不同形式的变量,我可以立即想到(两个环境,一个不是). 我不太确定下一步该去哪儿.我应该研究设置环境变量的不同方法,还是应该以不同的方式定义路径?这样做的正确方法是什么?该错误还有其他原因吗?
您需要使用putenv()(
http://php.net/manual/en/function.putenv.php)而不是尝试使用您使用的任何方法($_ENV或$_SERVER).
取自https://github.com/google/google-api-php-client/blob/master/UPGRADING.md#google_auth_assertioncredentials-has-been-removed // OR use environment variables (recommended) putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json'); $client->useApplicationDefaultCredentials(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |