2013-03-28 3 views
0

Я пытаюсь сделать работу php-кодом для перечисления пользователей пользователя google. Я последовал youtube tutorial и судимое решение, предложенное в this one Но я все еще получаю эту досадную ошибку, когда я вызываю метод AUTHENTICATE:Fatal error: Uncaught exception 'Google_IOException'

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']); 
} 

?> 

Как я уже сказал, Я попробовал решения, предложенные во втором учебнике, но напрасно.

Кто-нибудь знает, как исправить эту проблему?

Спасибо.

ответ

3

Похоже, что на вашем сервере возникают проблемы с подключением к www.googleapis.com. Вам нужно будет проверить сетевое подключение.

Посмотрите, можете ли вы посетить https://www.googleapis.com/discovery/v1/apis с этой машины.

Если вы используете прокси-сервер, то вам нужно добавить curl_setopt($ch, CURLOPT_PROXY, 'your-proxy-settings'); в Google_CurlIO.php.

Я добавил его на линии 111 после curl_setopt($ch, CURLOPT_USERAGENT, $request->getUserAgent());

+0

Действительно, это прокси-сервер. Большое спасибо. – restricteur

Смежные вопросы