当点击fb连接按钮时没有任何反应

时间:2014-08-24 09:55:07

标签: php facebook facebook-graph-api

当点击fb连接按钮时没有任何反应i =我已经从phpgang.com下载了以下代码我已经下载了很多php脚本没人工作请查看以下代码。 我的代码如下:

    <?php
    session_start();
    $config['callback_url']         =   'CALL BACK URL/?fbTrue=true'; //   /?fbTrue=true is required.

    //Facebook configuration
    $config['App_ID']      =   'YOUR_APPLIVATION_ID';
    $config['App_Secret']  =   'YOUR_APPLIVATION_SECRET'; 
    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.<br>';
            $graph_url_groups = "https://graph.facebook.com/v2.1/me/groups?access_token=".$_SESSION['token'];
    //    echo $graph_url_pages;
        $groups = json_decode(file_get_contents_curl($graph_url_groups)); // get all groups information from above url.

        $dropdown = "";
        for($i=0;$i<count($groups->data);$i++)
        {
            $dropdown .= "<option value='".$groups->data[$i]->access_token."-".$groups->data[$i]->id."'>".$groups->data[$i]->name."</option>";
        }

        $content = '
        <style>
        #status
        {
            width: 357px;
            height: 28px;
            font-size: 15px;
        }
        </style>
        '.$message.'
        <form action="index.php" method="post">
        Select Group on which you want to post status: <br><select name="group" id="status">'.$dropdown.'</select><br><br>
        <input type="text" name="status" id="status" placeholder="Write a comment...." />
        <input type="submit" value="Post On My Group!" style="padding: 5px;" />
        <form>';
    }
    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;$i<count($groups->data);$i++)
        {
            $dropdown .= "<option value='".$groups->data[$i]->id."'>".$groups->data[$i]->name."</option>";
        }


        $content = '
        <style>
        #status
        {
            width: 357px;
            height: 28px;
            font-size: 15px;
        }
        </style>
        '.$message.'
        <form action="index.php" method="post">
        Select Group on which you want to post status: <br><select name="group" id=status>'.$dropdown.'</select><br><br>
        <input type="text" name="status" id="status" placeholder="Write a comment...." />
        <input type="submit" value="Post On My Page!" style="padding: 5px;" />
        <form>';
    }
    else
    {
        $content = 'Connect only &nbsp;&nbsp;<a href="https://www.facebook.com/dialog/oauth?client_id='.$config['App_ID'].'&redirect_uri='.$config['callback_url'].'&scope=email,user_about_me,publish_stream,publish_actions,user_groups"><img src="./images/login-button.png" alt="Sign in with Facebook"/></a>';
    }

    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; } ?>

1 个答案:

答案 0 :(得分:0)

您将无法使用本地回调网址 - 您对Facebook的请求将需要公开回调网址,因为它无法回复localhost。