我正在尝试从本地主机连接到谷歌 API,但继续收到异常(密钥已更改 - 在下面的文本中)。
Warning: file_get_contents(compress.zlib://https://www.googleapis.com/books/v1/volumes?q=Henry+David+Thoreau&filter=free-ebooks&key=bItatTTTTT7amAHYSaROTTTTTbtttuuuuuuuu) [function.file-get-contents]: failed to open stream: operation failed in C:\zendProject\zf2\vendor\google\apiclient\src\Google\IO\Stream.php on line 115
我在浏览器中使用的代码直接来自 API 指南,内容如下:
$client = new \Google_Client();
$client->setApplicationName("rent");
$service = new \Google_Service_Books($client);
$optParams = array('filter' => 'free-ebooks');
$results = $service->volumes->listVolumes('Henry David Thoreau', $optParams);
我认为我的问题与配置文件有关,而事实上我正在使用 localhost 开发服务器。
'Google_Auth_OAuth2' => array(
'application_name' => 'www.example.com',
'client_id' => '4498xxxxx061-3333xxxx9pjcpkbqhoxxxxxxxxxxx.apps.googleusercontent.com',
'client_secret' => '8xxxxxxxxx333xxxxxxxxx',
'redirect_uri' => 'http://localhost',
'developer_key' => 'AxxxxxxzBjpxxxxxaxxxxxxZxxx1xxxxx',
在新的开发者控制台中,我为项目创建了一个新的客户端 ID,并插入了“Client_id”、“Client_secret”等。
我还为日历和书籍启用了相关的 API。
我已经在我为谷歌字体找到的 URL 上测试了我的 API 密钥——所以我确信我有正确的开发者密钥。
我怀疑问题可能出在 uri 字段中的本地主机周围,我需要在这里输入什么?
有谁知道我做错了什么。
更新:我发现了一篇建议在此处获取 HTTP 响应代码的帖子:
服务器的响应是 304 - 不确定这是否有帮助
更新: @Carlos Rubles - 是正确的,我使用了不正确的版本。以防万一其他人遇到这个问题 - 谷歌网站上的作曲家信息似乎不正确。
我之前使用过 "google/apiclient": "1.0. " 这出现在 google 文档中。我现在已经尝试过 "google/apiclient": "1. " 这似乎已经解决了这个问题。