PHPからprofileデータを取得する
ようやく今回からプログラムを書いてるってカンジになります。
長いですが以下を fb.php に保存して、Canvasページにアクセスしてみましょう。
<?php require 'facebook/facebook.php'; $facebook = new Facebook(array( 'appId' => 'アプリID', 'secret' => 'シークレットキー', 'cookie' => true, )); $session = $facebook->getSession(); $me = null; if ($session) { try { $uid = $facebook->getUser(); $me = $facebook->api('/me'); } catch (FacebookApiException $e) { error_log($e); } } $profile = null; if ($me) { try { $profile = $facebook->api(array( 'method' => 'fql.query', 'query' => 'SELECT id, name, url, pic, pic_square, pic_small, pic_big, type, username FROM profile WHERE id=me()', )); } catch(FacebookApiException $e) { var_dump($e); } } else { $loginUrl = $facebook->getLoginUrl(); } ?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>php-sdk</title> </head> <body> <?php if ($me && $profile): ?> <table border="1"> <tr> <td>id</td><td><?php echo htmlspecialchars($profile[0]["id"]);?></td> </tr> <tr> <td>name</td><td><?php echo htmlspecialchars($profile[0]["name"]);?></td> </tr> <tr> <td>url</td><td><?php echo htmlspecialchars($profile[0]["url"]);?></td> </tr> <tr> <td>pic</td><td><?php echo htmlspecialchars($profile[0]["pic"]);?></td> </tr> <tr> <td>pic_square</td><td><?php echo htmlspecialchars($profile[0]["pic_square"]);?></td> </tr> <tr> <td>pic_small</td><td><?php echo htmlspecialchars($profile[0]["pic_small"]);?></td> </tr> <tr> <td>pic_big</td><td><?php echo htmlspecialchars($profile[0]["pic_big"]);?></td> </tr> <tr> <td>type</td><td><?php echo htmlspecialchars($profile[0]["type"]);?></td> </tr> <tr> <td>username</td><td><?php echo htmlspecialchars($profile[0]["username"]);?></td> </tr> </table> <?php else: ?> <a href="<?php echo $loginUrl; ?>"> <img src="http://static.ak.fbcdn.net/rsrc.php/zB6N8/hash/4li2k73z.gif"> </a> <?php endif ?> </body> </html>
以下のように表示されれば成功です。
次回は fql について。