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月01日 Facebook
Facebookアプリ内や外部サイトなどに、Facebookの友達になるボタンを設置する方法です。 設置するコード [php]<a href="http://www.facebook.com/dialog/friends/?id=USER_ID&app_id=YOUR_APP_ID&redirect_uri=REDIRECT_URL">友達になる&…
「Facebookの「友達になる」ボタンを設置する」をはてなブックマークに追加

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アプリ ユーザー名取得・表示」をはてなブックマークに追加

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

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

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

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

Facebook アプリ開発 ログインしているユーザーIDを取得・表示させる

2012年01月28日 Facebook
ユーザーIDを取得する ユーザーIDを取得するには、getUser()関数を使います。 使い方は以下のような感じです。 [php]$uid = $facebook->getUser(); [/php] サンプルソース [php] <?php require_once("src/facebook.php"); Facebook::$CURL_OPTS[CURLO…
「Facebook アプリ開発 ログインしているユーザーIDを取得・表示させる」をはてなブックマークに追加
© graffiti on the web . All rights reserved. WordPress Theme by comfy