2015-04-17 6 views
2

Im пытается опубликовать некоторую активность для профиля пользователя в своем Google +.Google api моменты код ошибки 400 php

Я искал все сообщения о проблемах с моментами, но все же я не могу решить свою проблему. Ниже приведены мои коды

$requestVisibleActions = array(
    'http://schemas.google.com/AddActivity'); 
    $client = new Google_Client(); 
    $client->setApplicationName("PHP Google OAuth Login Example"); 
    $client->setClientId($client_id); 
    $client->setClientSecret($client_secret); 
    $client->setRedirectUri($redirect_uri); 
    $client->setDeveloperKey($simple_api_key); 
    $client->addScope("https://www.googleapis.com/auth/plus.login"); 
    $client->addScope("https://www.googleapis.com/auth/plus.me"); 
    $client->addScope("https://www.googleapis.com/auth/userinfo.email");  
    $client->setRequestVisibleActions($requestVisibleActions); 

    $plus = new Google_Service_Plus($client); 

    // Add Access Token to Session 
    if (isset($_GET['code'])) { 
    $client->authenticate($_GET['code']); 
    $_SESSION['access_token'] = $client->getAccessToken(); 
    header('Location: ' . filter_var($redirect_uri, FILTER_SANITIZE_URL)); 
    } 

    // Set Access Token to make Request 
    if (isset($_SESSION['access_token']) && $_SESSION['access_token']) { 
    $client->setAccessToken($_SESSION['access_token']); 
    } 

    // Post moment from mysite 
    if ($client->getAccessToken()) { 
    $moment = new Google_Service_Plus_Moment(); 
    $moment->setType('http://schemas.google.com/AddActivity'); 
    $itemScope = new Google_Service_Plus_ItemScope(); 
    $itemScope->setUrl('http://developers.google.com/+/web/snippet/examples/thing'); 
    $moment->setTarget($itemScope); 
    $momentResult = $plus->moments->insert('me', 'vault',$moment); 
    $_SESSION['access_token'] = $client->getAccessToken(); 
    } else {  
    $authUrl = $client->createAuthUrl(); 
    redirect($authUrl); 
    } 

, но я получаю ошибку исключения Google

Тип: Google_Service_Exception

Message: Error calling POST 
https://www.googleapis.com/plus/v1/people/me/moments/vault?key=xxxxxxx: 
(400) Unable to fetch metadata. 
Filename: /home2/mysite/public_html/application/libraries/google-api-php-client-master/src/Google/Http/REST.php 

Когда я пытаюсь получить доступ к сообщению URL я получаю это.

{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "required", 
    "message": "Login Required", 
    "locationType": "header", 
    "location": "Authorization" 
    } 
    ], 
    "code": 401, 
    "message": "Login Required" 
} 
} 

i realy dont know where im wrong. помогите мне

+0

любезно помогите кому угодно :(ive искал это целые 8 часов моей смены –

ответ

1

Moments: insert Запишите момент, представляющий собой действие пользователя, например, совершение покупки или комментирование в блоге. Пишущие моменты включают указание типа, который является типом момента, и размещение требуемых полей этого типа момента.

Moments Опишите действия, которые пользователи участвуют в вашем приложении.

типа Momemt такое же, как App Activity Types они:

AddAction , BuyAction, CheckInAction, CommentAction, CreateAction, DiscoverAction, ListenAction, ReserveAction, ReviewAction, WantAction

Момент является NOT размещение пользователям потока Google+. Это NOT Возможно опубликовать некоторую активность в профиле пользователей в Google+.

+0

@DalmTo привет, я понимаю, что момент не публикуется в google + stream. Я просто хотел иметь журнал активности с моего сайта. не могу заставить его работать –

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