2016-04-05 2 views
2

У меня возникла проблема с обновлением обложки для пользователей с использованием php (рамки zend) и Oauth.Как скрыть Google+ обложку

Я добавил к моему composer.json следующие строки:

"require" : { 
"google/auth": "0.7", 
"google/apiclient" : "^[email protected]" 
} 

После этого я сделал композитор установить + композитор-обновление с помощью и oppp я получаю библиотеку внутри моего поставщика.

Я настроил мое приложение в Google разрабатывает консоль, после официального учебника по гугле: D

Теперь внутри моего контроллера я мог бы легко запросить веб-службы Google, используя этот метод:

public function googleplusAction() 
{ 
    Zend_Loader::loadFile("HttpPost.class.php"); 
    $client_id = "id_here"; 
    $client_secret = "secret_here"; 
    $application_name = "application_name_here"; 
    $redirect_uri = "redirection_uri_here"; 

    $oauth2_server_url = 'https://accounts.google.com/o/oauth2/auth'; 

    $query_params = array(
     'response_type' => 'code', 
     // The app needs to use Google API in the background 
     'client_id' => $client_id, 
     'redirect_uri' => $redirect_uri, 
     'scope' => 'https://www.googleapis.com/auth/userinfo.profile' 
    ); 

    $forward_url = $oauth2_server_url . '?' . http_build_query($query_params); 
    header('Location: ' . $forward_url); 
} 

После этого Я перенаправляюсь к URI перенаправления, а в баре адрес получает новую переменную 'code'.

До сих пор я надеюсь, что все будет в порядке, придя к самой важной части, контроллеру страницы URI перенаправления, используя переменную «code», о которой я говорил об этом, прежде чем попытался получить токен доступа, но Я потерпел неудачу.

Это метод, который должен установить новую крышку изображения на Google плюс:

$client_id = "client-id"; 
    $client_secret = "g+-secret"; 
    $application_name = "my-app-name"; 
    $redirect_uri = "my-uri-on-g+"; 

    $client = new Google_Client(); 
    $client->setClientId($client_id); 
    $client->setClientSecret($client_secret); 
    $client->setRedirectUri($redirect_uri); 
    $service = new Google_Service_Oauth2($client); 
    $client->addScope(Google_Service_Oauth2::USERINFO_PROFILE); 
    $client->authenticate($_GET['code']); // I have the right code, and I am being authenticated 
    $plus = new Google_Service_Plus($client); 
    $person = $plus->people->get('me'); 
    var_dump($person); 
    $pic = $this->session->image['generatedAbs']; 
    $gimg = new Google_Service_Plus_PersonCover(); 
    $source = new Google_Service_Plus_PersonCoverCoverPhoto(); 
    $source ->setUrl("$photo-that-i-wanted-to-put-on-g+"); 
    $gimg->setCoverPhoto($source); 

    $person->setCover($gimg);} 

Так что мои вопросы:

  1. Как я могу изменить свой Google Plus сопроводительное изображение на новый PNG или изображение JPEG, которое у меня уже есть в моем проекте?

внутри библиотеки G + я нашел этот метод:

Google_Service_Plus_PersonCoverCoverPhoto(); 

внутри класса под названием

Google_Service_Plus_PersonCover(); 

Но как я могу его использовать?

ответ

0

Я думаю, что методы Google_Service_Plus_PersonCoverCoverPhoto() и Google_Service_Plus_PersonCover() используются клиентской библиотекой для ее установки при получении информации. Это не значит, что вы сможете обновлять обложку пользователей в Google+, если это работает, она обновит объект класса, который действительно не имеет смысла (IMO).

var_dump($person->Cover); 

Если вы обратитесь к документации Plus.People вы заметите, что нет обновлений или исправлений методов. Это связано с тем, что в это время невозможно обновить информацию о пользователях.

Невозможность обновить изображение обложки пользователей не имеет ничего общего с Oauth, это связано с тем, что API API не допускается. К сожалению, похоже, что вы проделали большую работу ради ничего, поэтому хорошо всегда проконсультироваться с документацией, прежде чем вы начнете, вы бы увидели, что это невозможно, и могли бы избежать много ненужного стресса на вас самих.

+1

ОК вы правы, есть ли какой-либо способ, по крайней мере, добавить эту фотографию в фотоальбом пользователя? –

+0

Проверьте Picasa api или новую фотографию Google, которую я не знаком с этими apis – DaImTo

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