/ Published in: PHP
This is just a quick and dirty template that I use to begin writing my apps. If you know of a better way to approach various portions of this code I would love to hear it. It\'s assuming you are using the latest PHP SDK and is positioned around Iframe based application (though it works with FBML, I would just use AJAX calls to request auth as it\\\\\\\'s a little more seamless).
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
<?php //This is my skeleton template for a PHP SDK canvas app, use it if you find it useful. //Lately I use iframe canvas apps so I used a javascript page redirect instead of fbjs ajax with require_login(); //Don't forget to change path to PHP SDK if necessary require_once 'facebook.php'; // Create our Application instance. Don't forget to change to your AppId and Secret 'appId' => 'XXXXXXXXXXXXX', 'secret' => 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'cookie' => true,)); // Uncomment to debug post fields // print_r($_REQUEST); // Setting canvas to 1 and fbconnect to 0 fixes issues with being redirected back to your base domain instead of back to the canvas app on auth $loginUrl = $facebook->getLoginUrl($params = array('canvas' => 1, 'fbconnect' => 0, 'req_perms' => 'insert required perms here')); $session = $facebook->getSession(); $me = null; if ($session) { try { $me = $facebook->api('/me'); //If user has authed application, render a logout link. //echo '<a href="'.$facebook->getLogoutUrl().'">Logout</a>'; } catch(FacebookApiException $e){ //Uncomment the line below to have a user click to authorize the app instead of requesting permissions on page load. //echo '<a href="'.$loginUrl.'">Login</a>'; //Request permissions on page load if app is not authed & cannot request user information. echo "<script type='text/javascript'>top.location.href = '".$loginUrl."';</script>"; } } else { //Request permissions on page load if app is not authed & or session is invalid. echo "<script type='text/javascript'>top.location.href = '".$loginUrl."';</script>"; } // If you can hit user on the Graph API, do some stuff if($me) { } ?>