Google 本地主机上的服务帐户
Google Service Accounts on localhost
我正在使用 Google Apps for Work 并且有一个服务帐户可以访问 PHP 中的驱动器 API。
我现在的密码是:
$client = new Google_Client();
$client->setApplicationName('MyApp');
$key = file_get_contents("/path/to/secure/key");
$cred = new Google_Auth_AssertionCredentials(
"serviceaccount@myapp.iam.gserviceaccount.com",
array('https://www.googleapis.com/auth/drive', 'https://spreadsheets.google.com/feeds'),
$key, 'keysecretgoeshere', 'http://oauth.net/grant_type/jwt/1.0/bearer', "email@domain.com"
);
$client->setAssertionCredentials($cred);
当我将其上传到我的外部托管的 Apache 服务器时,这非常有效。奇怪的是我也有一个使用EasyPHP的本地服务器在本地测试它,当我访问该页面时,我得到一个"This site can't be reached. The connection was reset"错误。
关于为什么它不能在本地主机上运行,我是否遗漏了什么?
可能 PHP 扩展未安装或某些 cURL/openSSL 问题?
在每个点对代码进行断点后,这是 OpenSSL 的问题。
可以在这里找到解决方案:
PHP openssl_sign DIES
我正在使用 Google Apps for Work 并且有一个服务帐户可以访问 PHP 中的驱动器 API。
我现在的密码是:
$client = new Google_Client();
$client->setApplicationName('MyApp');
$key = file_get_contents("/path/to/secure/key");
$cred = new Google_Auth_AssertionCredentials(
"serviceaccount@myapp.iam.gserviceaccount.com",
array('https://www.googleapis.com/auth/drive', 'https://spreadsheets.google.com/feeds'),
$key, 'keysecretgoeshere', 'http://oauth.net/grant_type/jwt/1.0/bearer', "email@domain.com"
);
$client->setAssertionCredentials($cred);
当我将其上传到我的外部托管的 Apache 服务器时,这非常有效。奇怪的是我也有一个使用EasyPHP的本地服务器在本地测试它,当我访问该页面时,我得到一个"This site can't be reached. The connection was reset"错误。
关于为什么它不能在本地主机上运行,我是否遗漏了什么? 可能 PHP 扩展未安装或某些 cURL/openSSL 问题?
在每个点对代码进行断点后,这是 OpenSSL 的问题。 可以在这里找到解决方案:
PHP openssl_sign DIES