Facebook Groups Auto-poster Using Graph API

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;
}
?>
Share on facebook
Facebook
Share on twitter
Twitter
Share on linkedin
LinkedIn