ブログ   うい・らぶ・だいびんぐ   Cube 別館   flag_uk 英語サイト   ポータル
twitter Twitter でログイン
ホーム   最新ニュース   フォーラム   ダウンロード   写真集   リンク集   お問い合わせ RSS

SmartSection > Tools > Google > Google Plus ログイン - Google API Client

Google Plus ログイン - Google API Client

投稿者: Ken 掲載日: 2011-12-15 (8043 回閲覧)
Google API Client のライブラリを使って、
OAuth プロトコルによる Google Plus のログイン認証と Google Plus からの Activity の読出しを実装する。

デモ

Google Plus ログインのデモ

ダウンロード

前準備

1. ライブリイ
下記から Google APIs Client Library for PHP を取得する。
https://developers.google.com/+/downloads

2. アクセスキー
Google に WEBアプリを登録する。
WEBサイトごとに登録したアクセスキーが必要です。
下記からキーを取得してください。
https://code.google.com/apis/console/

コード

google-plus-php-starter にサンプルが載っている。

login ログイン

require_once 'google-api-php-client/src/apiClient.php';
require_once 'google-api-php-client/src/contrib/apiPlusService.php';

session_start();

$client = new apiClient();
$client->setClientId( $CLIENT_ID );
$client->setClientSecret( $CLIENT_SECRET );
$client->setDeveloperKey( $DEVELOPER_KEY );
$client->setRedirectUri( $REDIRECT_URI );
$client->setApplicationName( $APPLICATION_NAME );
$client->setScopes(array('https://www.googleapis.com/auth/plus.me'));

// Google サーバーへの接続
$authUrl = $client->createAuthUrl();
header('Location: ' . $authUrl);


callback コールバック

if (isset($_GET['code'])) {
  // Google サーバーからのコールバックの処理
  $client->authenticate();
  $ACCESS_TOKEN = $client->getAccessToken();
  ...
}


me 自分のユーザ情報の取得

$client->setAccessToken( $ACCESS_TOKEN );
$plus = new apiPlusService($client);
$me = $plus->people->get('me');


下記はwebアプリに固有のもので、
Google にwebアプリを登録すると発行される。
$CLIENT_ID
$CLIENT_SECRET
$DEVELOPER_KEY

$REDIRECT_URI は、自サイトのコールバック先です。
厳格にチェックされれているようで、Google に登録したものと同じでなければならないようです。
例 https://example.com/callback

$APPLICATION_NAME は、アプリ名です。
何でもいいようです。

提供されているAPI機能

2011年12月時点
取得できるデータは、プロフィール(Person)と投稿(Activty Feeds)です。
ストリームやサークルは取得できません。
投稿する(Post)ことも出来ません。

使用上の注意

認証に失敗すると、例外を発生しますが、
現状では Fatal error になります。
この現象は Google+ Developers フォーラム でも指摘されています。

Fatal error: Uncaught exception 'apiServiceException' 


エラーメッセージを表示しない設定にしていると、webページが真っ白になります。
ひとまず、エラーメッセージを表示するように、プログラムを変更する。

src/io/apiREST.php

static function decodeHttpResponse($response) {

if ($code != '200' && $code != '201' && $code != '204') {

// ここをコメントにして、下記を追加する
// throw new apiServiceException($err);
   echo $err;
   return false;
}


参考
- Google Plus API php サンプルを触ってみる
- Google+ Developers: Fatal error: Uncaught exception 'apiServiceException'

ページ移動
Google Apps を OpenID 認証局 にする (その1) 次の記事
投票者の合計: 0
平均: 0
投稿された内容の著作権はコメントの投稿者に帰属します。
スポンサー

寄付
配布しているソフトが気に入ったら、寄付をお願いします。
寄付

PageRank のページ毎の表示
http://linux.ohwada.jp/ modules/smartsection/item.php?
PageRank 0 PageRank

メインメニュー

マニュアル

ログイン