Skip to content

Instantly share code, notes, and snippets.

@naeluh
Created December 12, 2014 20:19
Show Gist options
  • Save naeluh/9f7df425774c2edd7148 to your computer and use it in GitHub Desktop.
Save naeluh/9f7df425774c2edd7148 to your computer and use it in GitHub Desktop.
<?php
/*
* login_with_facebook.php
*
* @(#) $Id: login_with_facebook.php,v 1.3 2013/07/31 11:48:04 mlemos Exp $
*
*/
/*
* Get the http.php file from http://www.phpclasses.org/httpclient
*/
error_reporting(-1);
ini_set('display_errors', 'On');
require_once("fb/src/facebook.php");
require('http.php');
require('oauth_client.php');
$client = new oauth_client_class;
$client->debug = false;
$client->debug_http = true;
$client->server = 'Facebook';
$client->redirect_uri = 'http://'.$_SERVER['HTTP_HOST'].
dirname(strtok($_SERVER['REQUEST_URI'],'?')).'/login_with_facebook.php';
$client->client_id = ''; $application_line = __LINE__;
$client->client_secret = '';
$config = array();
$config['appId'] = '';
$config['secret'] = '';
$config['fileUpload'] = false; // optional
$fb = new Facebook($config);
if(strlen($client->client_id) == 0
|| strlen($client->client_secret) == 0)
die('Please go to Facebook Apps page https://developers.facebook.com/apps , '.
'create an application, and in the line '.$application_line.
' set the client_id to App ID/API Key and client_secret with App Secret');
/* API permissions
*/
$client->scope = 'email';
if(($success = $client->Initialize()))
{
if(($success = $client->Process()))
{
if(strlen($client->access_token))
{
$success = $client->CallAPI(
'https://graph.facebook.com/me',
'GET', array(), array('FailOnAccessError'=>true), $user);
// define your POST parameters (replace with your own values)
$params = array(
"access_token" => $client->access_token, // see: https://developers.facebook.com/docs/facebook-login/access-tokens/
"message" => "",
"link" => "",
"picture" => "",
"name" => "",
"caption" => "",
"description" => ""
);
}
}
$success = $client->Finalize($success);
}
if($client->exit)
exit;
if($success)
{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Facebook OAuth client results</title>
</head>
<body>
<?php
echo '<h1>', HtmlSpecialChars($user->name),
' you have logged in successfully with Facebook!</h1>';
echo '<pre>', HtmlSpecialChars(print_r($user, 1)), '</pre>';
echo '<pre>', HtmlSpecialChars(print_r($client, 1)) ,'</pre>';
try {
$ret = $fb->api('/'.$user->id.'/feed', 'POST', $params);
echo 'Successfully posted to Facebook';
} catch(Exception $e) {
echo $e->getMessage();
}
?>
</body>
</html>
<?php
}
else
{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>OAuth client error</title>
</head>
<body>
<h1>OAuth client error</h1>
<pre>Error: <?php echo HtmlSpecialChars($client->error); ?></pre>
</body>
</html>
<?php
}
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment