3

ユーザーを認証するときに、ブログを一覧表示するためにユーザー 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、postID などを使用してブログの投稿などを取得する方法を示しています。blogID、postID を取得するには、認証時に指定されていない初期ユーザー ID が必要です。

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

4

2 に答える 2

2

ブロガーの OAuth を実行しているときに、同じ問題に遭遇しました。しかし、ドキュメントを 5 ~ 10 回読んだ後、ブログ ID を取得するためにユーザー ID は必要ないことがわかりました。アクセス トークンを取得したら、ブログ コレクション URI に HTTP GET 要求を送信して、ユーザーのブログのリストを取得できます。

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 */

注:ユーザーは自分のブログを一覧表示するには認証を受ける必要があるため、GET 要求で Authorization HTTP ヘッダーを提供する必要があります。

詳細については、 Google ブロガー API ドキュメントをご覧ください。

于 2013-08-06T12:21:16.363 に答える