PHPでウェブの世界と繋がろう!
menu
ホーム > PHP と Facebook > ウェブサイト開発 > SDKs & Tools for PHP > Facebookとウェブサイトを連携 ログイン後基本情報と友達情報の表示 SDK for PHP

Facebookとウェブサイトを連携 ログイン後基本情報と友達情報の表示 SDK for PHP

Pocket

Facebookとウェブサイトを連携

Facebook APIとは
Facebook API を利用することで、みなさんのアプリケーションにFacebookの機能を組み込むことが出来ます。このドキュメントではFacebookとウェブサイトとの連携をするためのOAuth接続について説明します。

Facebookアプリケーションの登録とウェブサイトとの連携
※「tryphp.net」は本項での例として記述しているドメインですので、インストールする環境に合わせてドメインを変更して読み進めて下さい。
ここではOAuth接続でログインユーザーの基本情報と友達情報を取得してみたいと思います。

↓こんな感じです。

-1- Facebookアプリケーションの登録

  • こちらでFacebookアプリケーションの登録を行うことが出来ます。https://developers.facebook.com/apps
  • Facebookアカウントでログインして下さい。アカウントを取得していない方はアカウントを登録してからアプリケーションの登録を行って下さい。

-2- 新しいアプリケーションを作成

  • ログインするhttps://developers.facebook.com/apps
  • 画面右上の「新しいアプリケーションを作成」をクリック
  • App Display Name」大切なアプリケーションの名前なので適切に決めてください。
  • 「App Namespace」 Open graphやCanvas Pageへ表示される名前です。後で編集可能です。
  • 「I agree to the Facebook Platform Policies.」にチェックをして「続行」をクリックして下さい。
  • 以降画面の指示に従って進めて下さい。

アプリケーションの管理ページです。→https://developers.facebook.com/apps

-3- 登録完了画面

  • 登録が完了すると「基本設定」画面が表示されます。ウェブサイトとFacebookを連携させるので「ドメイン」と「サイト」を入力します。
  • 「基本データ」→「アプリのドメイン」→「tryphp.net」と入力
  • 「アプリをFacebookに結合する方法を選択してください」→「ウェブサイト」→「http://www.tryphp.net/」と入力
  • 「変更を保存」をクリック

-4- IDとSecretの取得

「基本設定」画面に「App ID (App ID/API Key)」「App Secret (アプリのシークレットキー)」が表示されいるので、テキストなどにコピーしておいて下さい。以下のサンプルコードで使用します。

-5- Facebook SDK for PHPの入手

  • Facebookとウェブサイトを連携するのに便利なライブラリを入手します。「guthub」サイトから「ptarjan」さんが提供しているライブラリ「Facebook SDK for PHP」をダウンロードしましょう。
  • Facebook PHP SDK (v.3.1.1) ダウンロード→https://github.com/facebook/php-sdk
    「Downloads」タグを選択して「download as zip」をクリック。
    ※このバージョンはすでにダウンロードできなくなっていたので、tryphp にファイルをアップしておきました。ダウンロード
  • Facebook PHP SDK (v.3.2.0)(2012/10/31現在最新) ダウンロード→https://github.com/facebook/facebook-php-sdk
    ※3.2.2も以下の記述内容で動作しました。

-6- 動作環境

  • PHP Version 5.2以上であること(phpinfo();関数で確認)
  • cURL support enabledであること(phpinfo();関数で確認)

-7- 設置

  • 先ほどダウンロードしたファイルを解凍して sdk フォルダをアップロードします。本頁のサンプルではドキュメントルート直下に facebook というディレクトリを作成そこにアップロードします。
    http://www.tryphp.net/facebook/sdk/・・・
    ・・/facebook/sdk/examples
    ・・/facebook/sdk/src
    ・・/facebook/sdk/tests
    ・・/facebook/sdk/changelog.md
    ・・/facebook/sdk/readme.md

-8- OAouth接続とログイン情報の取得 サンプルコード

  • http://www.tryphp.net/facebook/に以下のサンプルコードを記述したファイル accountinfo.php をアップロードします。
  • http://www.tryphp.net/facebook/accountinfo.php
  • ログインしていない場合はログインリンクを表示させます。ログインしていればログインユーザー情報を表示させます。
<?php
//開発者ページ https://developers.facebook.com/apps

//sdkのインクルード
require_once './sdk/src/facebook.php';

//appIdとsecretの記述
// appId と secret は「マイアプリ」のページで確認できます
// https://www.facebook.com/developers/apps.php
$facebook = new Facebook(array(
	'appId' => 	'***************',
	'secret' => 	'******************************',
	'cookie' => 	true,
));

//オブジェクトの作成
$user = 				$facebook->getUser();
$me = 					null;
$friends = 				null;
if($user){
	try{
		$uid = 			$facebook->getUser();
		$me = 			$facebook->api('/me');//ログイン情報
		$friends = 		$facebook->api('/me/friends');//友達情報
	}
	catch(FacebookApiException $err){
		error_log($err);
	}
}

//ログインユーザーの確認
if($me){
	$logoutUrl = $facebook->getLogoutUrl();
}else{
	$loginUrl = $facebook->getLoginUrl();
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="text/html;">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>Facebookとウェブサイトの連携</title>
</head>
<body>


<h1>こんにちは Facebook!</h1>


<?php
//ログイン情報の確認
if($me){
	echo 'こんにちは'.$me&#91;'name'&#93;;
	echo '<br/>';
	echo '[ <a href="'.$logoutUrl.'">Logout</a> ]';
	echo '<br/>';
	print_r($me);
}else{
	echo 'まだログインしていません。';
	echo '<br/>';
	echo '[ <a href="'.$loginUrl.'">Login</a> ]';
}
?>

</body>
</html>

– サンプル Click Here ! –

これでOAuth接続は完了です。

OAuth接続をして友達リストの表示させてみましょう。
以下のサンプルコードを上記コードに追加してみてください。

<?php
//ログインユーザーの友達一覧を表示
if($friends){
	echo '<h1>こんにちは Friends!</h1>';
	echo '<h2>Friends List</h2>';
	echo '<ul>';
	foreach($friends['data'] as $friend){
		echo '<li>';
		echo $friend['name'];
		echo '<fb:profile-pic uid="', $friend&#91;'id'&#93; ,'" linked="true" width="24" height="24"></fb:profile-pic>';
		echo '</li>';
	}
	echo '</ul>';
?>
	<div id="fb-root">
	</div>
	<script language="javascript">
		window.fbAsyncInit = function(){
			FB.init({
					appId: '***************',
					cookie: true,
					xfbml: true
					});
		};
		(function(){
					var e = document.createElement('script');
					e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
					e.async = true;
					document.getElementById('fb-root').appendChild(e);
					}());
	</script>
<?php
}
?>

– サンプル Click Here ! –

以上です。

OAuth接続できればFacebook API が活用できますので是非試してみて下さい。


タグ(=記事関連ワード)

タグ: , , , ,

日付

投稿日:2011年10月25日
最終更新日:2014年02月01日

関連記事

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

http://www.tryphp.net/phpfacebook-devwebsite_oauth/trackback/