+CakePHP HttpSocket
The Facebook Platform is a set of APIs that make your app more social
The original Facebook SDK requires cURL. When using CakePHP there is no need for curl to perform basic http calls. The cURL calls have been replaced with HttpSocket Requires CakePHP 1.3
NOTE: This may be done by someone else. I was unable to find this and after repeatedly using this bit of code I figured it would be good to publish.
This repository contains the open source PHP SDK that allows you to access Facebook Platform from your PHP app. Except as otherwise noted, the Facebook PHP SDK is licensed under the Apache Licence, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.html)
Copy the files from
src/
src/base_facebook.php
src/facebook.php
src/facebook_cakephp.php
to
app/vendors/facebook-cakephp
Import them into your controller as needed.
App::import('Vendor','facebook-cakephp/facebook_cakephp');
// Create our Application instance (replace this with your appId and secret).
$facebook = new CakeFacebook(array(
'appId' => '################',
'secret' => '$$$$$$$$$$$$$$$$$$$$$$$$$$$$$',
));
The examples are a good place to start. The minimal you'll need to have is:
require 'facebook-php-sdk/src/facebook.php';
$facebook = new Facebook(array(
'appId' => 'YOUR_APP_ID',
'secret' => 'YOUR_APP_SECRET',
));
// Get User ID
$user = $facebook->getUser();
To make API calls:
if ($user) {
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->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->getLogoutUrl();
} else {
$loginUrl = $facebook->getLoginUrl();
}
In order to keep us nimble and allow us to bring you new functionality, without compromising on stability, we have ensured full test coverage of the SDK. We are including this in the open source repository to assure you of our commitment to quality, but also with the hopes that you will contribute back to help keep it stable. The easiest way to do so is to file bugs and include a test case.
The tests can be executed by using this command from the base directory:
phpunit --stderr --bootstrap tests/bootstrap.php tests/tests.php
For us to accept contributions you will have to first have signed the Contributor License Agreement.
When commiting, keep all lines to less than 80 characters, and try to follow the existing style.
Before creating a pull request, squash your commits into a single commit.
Add the comments where needed, and provide ample explanation in the commit message.