2013-08-01 75 views
3

當驗證用戶時,我如何獲取用戶ID才能列出他們的博客。Blogger google API獲取用戶ID

<?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,等帖子ID,以未知數能夠得到blogID,我帖子ID驗證需要它的時候沒有給出初始用戶ID來獲得博客帖子等。

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

+0

遺憾的是,在一個共同文件應該提到我的厲害! –

回答

1

雖然做博客的OAuth,我也碰到過同樣的問題。但在閱讀了5-10次文檔後,我發現我們不需要用戶ID來獲取blogID。

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請求博客集合URI檢索用戶的博客列表用戶必須經過身份驗證才能列出他們自己的博客,因此您必須爲Authorization HTTP標頭提供GET請求。

欲瞭解更多信息,請訪問google bloger api docs

+1

請問您可以包括如何使用PHP來完成,我已經嘗試了一切 –

+0

如何在PHP curl中工作?不是捲曲的捲曲。 –

1

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

+3

請詳細解釋您的答案 –

+0

沒有辦法讓用戶標識代替「USER_ID_HERE」。但是我們可以從用戶的訪問令牌獲取用戶的博客列表。 – Ice

相關問題