2015-07-08 2 views
0

В первый раз я пытаюсь получить изображение профиля моей учетной записи google с помощью google api. Поэтому я назвал этот сайт Refer.получить изображение учетной записи google с помощью google api

так в моем Google-плюс-access.php:

<?php 

    require_once 'google-api-php-client-master/src/Google/autoload.php'; // or wherever autoload.php is located 

    session_start(); 
    $client = new Google_Client(); 
    $client->setApplicationName("Google+ PHP Starter Application"); 

    $client->setClientId('MY_CLIENT_ID'); 
    $client->setClientSecret('MY_SECRET_KEY'); 
    $client->setRedirectUri('http://localhost/G-api'); 
    $client->setDeveloperKey('MY_DEV_KEY'); 

    $client->setScopes(array('https://www.googleapis.com/auth/plus.me')); 
    //$plus = new apiPlusService($client); 
    $plus = $client -> createAuthUrl(); 
    if(isset($_REQUEST['logout'])) 
    { 
     unset($_SESSION['access_token']); 
    } 

    if(isset($_GET['code'])) 
    { 
     echo $_GET['code']; 
     $client->authenticate(); 
     $_SESSION['access_token'] = $client->getAccessToken(); 
     header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF']); 
    } 

    if(isset($_SESSION['access_token'])) 
    { 
     echo $_SESSION['access_token']; 
     $client->setAccessToken($_SESSION['access_token']); 
    } 

    if ($client->getAccessToken()) { 
     $me = $plus->people->get('me'); 
     echo $me; 
     $optParams = array('maxResults' => 100); 
     $activities = $plus->activities->listActivities('me', 'public', $optParams); 

     $_SESSION['access_token'] = $client->getAccessToken(); 
    } else { 
     $authUrl = $client->createAuthUrl(); 
     echo '<pre>'; 
     print_r($authUrl); // this block is running!!! 
     echo '</pre>'; 
    } 
    echo "</br>"; 

>

И в моем index.php:

<?php 
    include('google-plus-access.php'); 
    ?> 
    <img src="<?php echo(substr($me['image']['url'],0,stripos($me['image']['url'],'?sz='))); ?>?sz=200" /> 

, но я получаю результат как :

https://accounts.google.com/o/oauth2/auth?response_type=code&redirect_uri=http%3A%2F%2Flocalhost%2FG-api&client_id=887633147241-8ragvhdi97lga3n829qogpl5aoima7l5.apps.googleusercontent.com&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fplus.me&access_type=online&approval_prompt=auto 

В моей консоли я получаю ниже ошибки: enter image description here

Мой выход осыпи выглядит так:

enter image description here

EDIT:

В моей консоли я получаю GET http://localhost/G-api/%3Cbr%20/%3E%3Cb%3ENotice%3C/b%3E:%20%20Undefined%20…/G-api/index.php%3C/b%3E%20on%20line%20%3Cb%3E7%3C/b%3E%3Cbr%20/%3E?sz=200 403 (Forbidden) это.

Эти вещи выполняются локально. Так что некоторые тела заставляют меня испугаться, что мы не можем этого сделать, это местные, и у нас есть домен для этого. Так любезно помогите мне сделать это.

ответ

0

Проверьте код $me создается в если// this block is running!!! находится в еще.

Вы пытаетесь использовать $ me, который не был создан.

if ($client->getAccessToken()) { 
     $me = $plus->people->get('me'); //Daimto: This doesn't run so you cant use it 
     echo $me; 
     $optParams = array('maxResults' => 100); 
     $activities = $plus->activities->listActivities('me', 'public', $optParams); 

     $_SESSION['access_token'] = $client->getAccessToken(); 
} else { 
     $authUrl = $client->createAuthUrl(); 
     echo '<pre>'; 
     print_r($authUrl); // this block is running!!! 
     echo '</pre>'; 
} 

Кроме того, необходимо создать службу, $plus->people->get('me'); не будет работать, потому что $ плюс не Google_Service_Plus. Вы должны проверить пример найти здесь user-sample.php

$googlePlus = new Google_Service_Plus($client); 
$userProfile = $googlePlus->people->get('me'); 
+0

жаль я не получил ты джи :( –

+0

вы пытаетесь использовать $ меня, вы не можете использовать его, если его не будет создан. Код с пробегами print_r. вы можете печатать $ authUrl, но не $ me – DaImTo

+0

Я новичок в этом ... это моя первая попытка, тогда как я могу ее решить? –

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