ホーム > SDKs & Tools for PHP > Facebookとウェブサイトを連携 ログイン後基本情報と友達情報の表示 SDK for PHP
Facebookとウェブサイトを連携 ログイン後基本情報と友達情報の表示 SDK for PHP
Facebookとウェブサイトを連携
Facebook APIとは
Facebook API を利用することで、みなさんのアプリケーションにFacebookの機能を組み込むことが出来ます。このドキュメントではFacebookとウェブサイトとの連携をするためのOAuth接続について説明します。
Facebookアプリケーションの登録とウェブサイトとの連携
※「wepicks.net」は本項での例として記述しているドメインですので、インストールする環境に合わせてドメインを変更して読み進めて下さい。
ここではOAuth接続でログインユーザーの基本情報と友達情報を取得してみたいと思います。
「基本設定」画面に「App ID (App ID/API Key)」「App Secret (アプリのシークレットキー)」が表示されいるので、テキストなどにコピーしておいて下さい。以下のサンプルコードで使用します。
ここでは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- 登録完了画面
-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 というディレクトリを作成そこにアップロードします。
https://wepicks.net/facebook/sdk/・・・
・・/facebook/sdk/examples
・・/facebook/sdk/src
・・/facebook/sdk/tests
・・/facebook/sdk/changelog.md
・・/facebook/sdk/readme.md
-8- OAouth接続とログイン情報の取得 サンプルコード
- https://wepicks.net/facebook/に以下のサンプルコードを記述したファイル accountinfo.php をアップロードします。
- https://wepicks.net/facebook/accountinfo.php
- ログインしていない場合はログインリンクを表示させます。ログインしていればログインユーザー情報を表示させます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | <!-- サンプルコード --> <?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['name']; 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> |
これでOAuth接続は完了です。
OAuth接続をして友達リストの表示させてみましょう。
以下のサンプルコードを上記コードに追加してみてください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | <!-- サンプルコード --> <?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['id'] ,'" 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 } ?> |
以上です。
OAuth接続できればFacebook API が活用できますので是非試してみて下さい。
タグ(=記事関連ワード)
日付
投稿日:2011年10月25日
最終更新日:2017年03月20日
最終更新日:2017年03月20日
このカテゴリの他のページ
この記事へのコメント
トラックバックurl
https://wepicks.net/phpfacebook-devwebsite_oauth/trackback/