2012年01月28日 Facebook
今回はFacebookのPHP SDKを使って、ユーザー情報を取得します。

PHP SDKを取得・設置

まず、githubからFacebookのPHP SDKをダウンロードします。 Facebook PHP SDK ダウンロードしたファイルを解凍すると以下のようなファイル構成になっていると思います。
/examples/ /tests/ /src/ changelog.mb readme.mb
この中で必要なのは、「src」フォルダです。 FacebookアプリのキャンバスURLで設定しているサーバ階層に、srcフォルダとこれから作成するindex.phpをアップします。

ログインしているユーザー情報を表示させるPHPプログラム

以下のソースをindex.phpとして設置します。 PHP内のコメントで「***を記入」となっている2ヶ所を独自のIDに変更してください。
<?php

require_once("src/facebook.php");

$config = array();
//以下を編集してアプリIDを記入
$config['appId'] = 'YOUR_APP_ID';

//以下を編集してアプリ秘訣を記入
$config['secret'] = 'YOUR_APP_SECRET';
$config['fileUpload'] = false; // optional

$facebook = new Facebook($config);

$uid = $facebook-&gt;getUser();

if($uid){
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook-&gt;api('/me');

} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}else{
$loginUrl = $facebook-&gt;getLoginUrl();
echo("&lt;br&gt;login url=".$loginUrl);
};

// Get User ID
$user = $facebook-&gt;getUser();

// We may or may not have this data based on whether the user is logged in.
//
// If we have a $user id here, it means we know the user is logged into
// Facebook, but we don't know if the access token is valid. An access
// token is invalid if the user logged out of Facebook.

if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook-&gt;api('/me');
} catch (FacebookApiException $e) {
error_log($e);
$user = null;
}
}

// Login or logout url will be needed depending on current user state.
if ($user) {
$logoutUrl = $facebook-&gt;getLogoutUrl();
} else {
$loginUrl = $facebook-&gt;getLoginUrl();
}

// This call will always work since we are fetching public data.
$naitik = $facebook-&gt;api('/naitik');

?>


<!DOCTYPE HTML>
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>php-sdk</title>
<style>
body {
font-family: 'Lucida Grande', Verdana, Arial, sans-serif;
}
h1 a {
text-decoration: none;
color: #3b5998;
}
h1 a:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<h1>php-sdk</h1>

<?php if ($user): ?>
<a href="<?php echo $logoutUrl; ?>">Logout</a>
<?php else: ?>
<div>
Login using OAuth 2.0 handled by the PHP SDK:
<a href="<?php echo $loginUrl; ?>">Login with Facebook</a>
</div>
<?php endif ?>

<h3>PHP Session</h3>
<pre><?php print_r($_SESSION); ?></pre>

<?php if ($user): ?>
<h3>You</h3>
<img src="https://graph.facebook.com/<?php echo $user; ?>/picture">

<h3>Your User Object (/me)</h3>
<pre><?php print_r($user_profile); ?></pre>
<?php else: ?>
<strong><em>You are not Connected.</em></strong>
<?php endif ?>

<h3>Public profile of Naitik</h3>
<img src="https://graph.facebook.com/naitik/picture">
<?php echo $naitik['name']; ?>
</body>
</html>

サンプルソース
上記ソースに、あなたのIDを入力したら、index.phpとして、srcフォルダと同じ場所(facebookキャンバスURLの箇所)にアップロードします。 以下のような構成になります。
アップロード後のサーバ上のファイル構成
http://your_canvas_url.com/src/ http://your_canvas_url.com/index.php
アップロードが完了したら、以下のURLにアクセスして動作を確認してみてください。
https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_CANVAS_URL

https://www.facebook.com/dialog/oauth?client_id=123456789&redirect_uri=https://your_canvas_url.com/
というか、そんなややこしいことしなくても、facebook開発者のアプリ情報に載ってるカンバスURL(https://apps.facebook.com/〜)にアクセスしたらいいような・・・。
正常に動作していると、[id]、[name]、[first_name]、、[last_name]、[link]、[username]、[hometown] 、なんかが配列に展開されていると状態になります。 アプリを公開しているサーバのcURLやSSLの設定によっては、cURL関係のエラーが出ることがあります。

この投稿へのコメント

コメントはまだありません。

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます。
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

CAPTCHA


ピックアップ記事

Facebookで小学校、中学校の友人検索【もっと友達検索】

2012年02月03日 Facebook
もっと友達検索とは Facebookで小学校や中学校の同級生を探せるようになったらいいな、という発想から出来たアプリです。 まだまだ、β版ですが、多くの方に利用されていくといいですね。 もっと友達検索【小学校・中学校】on Facebook african mango…
「Facebookで小学校、中学校の友人検索【もっと友達検索】」をはてなブックマークに追加

Facebook アプリ開発 友達にアプリを紹介する機能を実装する

2012年03月19日 Facebookphp
利用中のアプリを友達に紹介してもらう機能は以下のようにすることで実装できます。 [php] <?php //友達に紹介する設定 $app_id = "YOUR_APP_ID"; $canvas_page = "YOUR_CANVAS_PAGE"; $message = "この素晴…
「Facebook アプリ開発 友達にアプリを紹介する機能を実装する」をはてなブックマークに追加

FacebookアプリをFacebookページ(ファンページ)に追加する

2012年01月27日 web関連Facebook
[php]https://www.facebook.com/dialog/pagetab?app_id=YOUR_APP_ID&display=popup&next=YOUR_URL [/php] この「YOUR_APP_ID」はApp ID/API Keyに、「YOUR_URL」はアプリのURLに書き換えて、ブラウザからアクセスしてください。 アプリのApp ID/API K…
「FacebookアプリをFacebookページ(ファンページ)に追加する」をはてなブックマークに追加

Facebook APIを利用して、外部サイトから自分のウォールに投稿する

2012年03月19日 Facebookphp
ウォールへ投稿 外部サイトからFacebook上のウォールに投稿する方法です。 説明が不要なぐらい簡単でした。 [php]<?php $data = array( 'access_token' => $facebook->getAccessToken(), 'message' => 'API投稿テスト', ); $response = $facebook->…
「Facebook APIを利用して、外部サイトから自分のウォールに投稿する」をはてなブックマークに追加

Facebookアプリ ユーザー名取得・表示

2012年01月29日 Facebook
FacebookのGraph APIを使って、ユーザー情報を取得します。ユーザー名以外にも、以下の形式で表示されている情報が取得出来ます。 [php]https://graph.facebook.com/USER_ID[/php] FacebookのGraph API [php]<?php $app_id = アプリID; $app_secret = "シ…
「Facebookアプリ ユーザー名取得・表示」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy