我正在尝试使用php代码列出Google用户的用户。我跟着youtube tutorial并尝试了this one中提出的解决方案但是当我调用authenticate方法时,我仍然会遇到这个恼人的错误:
Fatal error: Uncaught exception 'Google_IOException' with message 'HTTP Error: (0) couldn't connect to host' in D:\xampp\htdocs\yac\proxy\lib\google-api-client\io\Google_CurlIO.php:128 Stack trace: #0 D:\xampp\htdocs\yac\proxy\lib\google-api-client\auth\Google_OAuth2.php(103): Google_CurlIO->makeRequest(Object(Google_HttpRequest)) #1 D:\xampp\htdocs\yac\proxy\lib\google-api-client\Google_Client.php(131): Google_OAuth2->authenticate(Array, NULL) #2 D:\xampp\htdocs\yac\proxy\contacts.php(36): Google_Client->authenticate() #3 {main} thrown in D:\xampp\htdocs\yac\proxy\lib\google-api-client\io\Google_CurlIO.php on line 128
这是我的PHP代码:
<?php
session_start();
require_once 'lib/google-api-client/Google_Client.php';
$client = new Google_Client();
$client->setApplicationName("Contactoos");
$client->setClientId('*************************************');
$client->setClientSecret('*********************************');
$client->setScopes(array('http://www.google.com/m8/feeds'));
$client->setRedirectUri('http://localhost/yac/proxy/contacts.php');
$client->setAccessType('online');
if(isset($_GET['code']))
{
echo "here";
$client->authenticate();
$_SESSION['token'] = $client->getAccessToken();
header('location:http://localhost/yac/proxy/contacts.php');
}
if(!isset($_SESSION['token']))
{
$url = $client->createAuthUrl();
?>
<a href="<?=$url;?>"> List google contacts</a>
<?php
}
else
{
$client->setAccessToken($_SESSION['token']);
}
?>
正如我所说,我尝试了第二个教程中提出的解决方案但是徒劳无功。
有谁知道如何解决这个问题?
感谢。
答案 0 :(得分:3)
看起来您的服务器在连接到www.googleapis.com时遇到问题。您需要检查网络连接。
查看您是否可以从该计算机访问https://www.googleapis.com/discovery/v1/apis。
如果您使用代理,则需要将curl_setopt($ch, CURLOPT_PROXY, 'your-proxy-settings');
添加到Google_CurlIO.php
。
我在curl_setopt($ch, CURLOPT_USERAGENT, $request->getUserAgent());