2013-08-01 7 views
3

При аутентификации пользователя, как я могу получить идентификатор пользователя, чтобы я мог перечислить их блоги.Blogger google api get userid

<?php 
require_once 'google-api-php-client/src/Google_Client.php'; 
require_once 'google-api-php-client/src/contrib/Google_BloggerService.php'; 
session_start(); 
$client = new Google_Client(); 
$client->setApplicationName('Blogger'); 
$client->setClientId('insert_your_oauth2_client_id'); 
$client->setClientSecret('insert_your_oauth2_client_secret'); 
$client->setRedirectUri('insert_your_oauth2_redirect_uri'); 
$client->setDeveloperKey('insert_your_simple_api_key'); 
$blogger = new Google_BloggerService($client); 

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

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

if ($client->getAccessToken()) { 
    var_dump($blogger->blogs->listByUser("USER_ID_HERE")); //how do i get the user id? 
} else { 
    $authUrl = $client->createAuthUrl(); 
    print "<a href='$authUrl'>Connect Me!</a>"; 
} 

документация бесполезно все это показывает, как получить блоги сообщения и т.д., используя неизвестные blogID т.е., и т.д., чтобы сообщения дан быть в состоянии получить blogID, мне нужен сообщения дан первоначальный идентификатор_пользователя, не учитывая при проверке подлинности.

https://developers.google.com/blogger/docs/3.0/using

+0

жаль, что это в общем файле следовало бы упомянуть мой плохой !! –

ответ

1

Делая блоггера OAuth, я тоже сталкивался же проблемой. Но после того, как я прочитал 5-10 раз документацию, мне приходит в голову, что нам не нужен идентификатор пользователя для получения блога. После получения маркера доступа вы можете получить список блогов пользователя, отправив запрос HTTP GET в блогах коллекции URI:

https://www.googleapis.com/blogger/v3/users/{userId}/blogs 

или запрос как:

GET https://www.googleapis.com/blogger/v3/users/self/blogs 
Authorization: /* OAuth 2.0 token here */ 

Примечание: пользователь должен пройти аутентификацию, чтобы перечислить свои собственные блоги, поэтому вы должны предоставить HTTP-заголовок авторизации с запросом GET.

Для получения дополнительной информации посетите google bloger api docs

+1

Не могли бы вы рассказать, как это можно сделать с помощью PHP, я все пробовал –

+0

как работать в php curl? а не завихренный локон. –

1

var_dump($blogger->blogs->listByUser('self'));

+3

, пожалуйста, объясните свой ответ немного больше. –

+0

. Нет способа получить идентификатор пользователя, а не «USER_ID_HERE». Но мы можем получить список блогов пользователя из токена доступа пользователя. – Ice

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