This script can be used to auto-post to Facebook groups using graph API.
session_start();
require 'src/config.php';
require 'src/facebook.php';
// Create our Application instance (replace this with your appId and secret).
$facebook = new Facebook(array(
'appId' => $config['App_ID'],
'secret' => $config['App_Secret'],
'cookie' => true
));
if(isset($_POST['status']))
{
$group_id = $_POST['group'];
$publish = $facebook->api('/'.$group_id.'/feed', 'post',
array('access_token' => $_SESSION['token'],
'message'=> 'Testing',
'from' => $config['App_ID'],
'to' => $group_id,
'caption' => 'PHP Gang',
'name' => 'PHP Gang',
'link' => 'http://www.phpgang.com/',
'picture' => 'http://www.phpgang.com/wp-content/themes/PHPGang_v2/img/logo.png',
'description' => 'Testing with PHPGang.com Demo'
));
$publish = $facebook->api('/'.$group_id.'/feed', 'post',
array('access_token' => $_SESSION['token'],'message'=>$_POST['status'] .' via PHPGang.com Demo',
'from' => $config['App_ID']
));
$message = 'Status updated.';
$graph_url_groups = "https://graph.facebook.com/v2.1/me/groups?access_token=".$_SESSION['token'];
$groups = json_decode(file_get_contents_curl($graph_url_groups)); // get all groups information from above url.
$dropdown = "";
for($i=0;$idata);$i++)
{
$dropdown .= "".$groups->data[$i]->name."";
}
$content = '
#status
{
width: 357px;
height: 28px;
font-size: 15px;
}
'.$message.'
Select Group on which you want to post status: '.$dropdown.'
';
}
elseif(isset($_GET['fbTrue']))
{
$token_url = "https://graph.facebook.com/v2.1/oauth/access_token?"
. "client_id=".$config['App_ID']."&redirect;_uri=" . urlencode($config['callback_url'])
. "&client;_secret=".$config['App_Secret']."&code;=" . $_GET['code'];
$response = file_get_contents_curl($token_url); // get access token from url
$params = null;
parse_str($response, $params);
$graph_url = "https://graph.facebook.com/v2.1/me?access_token="
. $params['access_token'];
$_SESSION['token'] = $params['access_token'];
$user = json_decode(file_get_contents_curl($graph_url)); // Get user information from given url
$graph_url_groups = "https://graph.facebook.com/v2.1/me/groups?access_token=".$_SESSION['token'];
$groups = json_decode(file_get_contents_curl($graph_url_groups)); // get all groups information from above url.
$dropdown = "";
for($i=0;$idata);$i++)
{
$dropdown .= "".$groups->data[$i]->name."";
}
$content = '
#status
{
width: 357px;
height: 28px;
font-size: 15px;
}
'.$message.'
Select Group on which you want to post status: '.$dropdown.'
';
}
else
{
$content = '';
}
echo $content;
function file_get_contents_curl($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Set curl to return the data instead of printing it to the browser.
curl_setopt($ch, CURLOPT_URL, $url);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
?>