1

正在使用 codeigniter 框架开发 Facebook 应用程序,正在使用 php-sdk 函数连接到 facebook 库,如果用户未登录到 facebook,正在使用以下代码将用户引导到登录框

$params = array(
        'scope' => 'read_stream, friends_likes'  
        'cancel_url' => 'http://www.facebook.com/',
        'canvas' => 1,
        'fbconnect' => 0,
        'req_perms' => 'publish_stream, read_stream, read_friendlists,email',
        'redirect_uri' => 'http://apps.facebook.com/morganmarket',
        'next' => 'http://apps.facebook.com/morganmarket',
        'display' => 'popup'
    );
    $loginUrl = $this->facebook->getLoginUrl($params);
    echo '<script> window.top.location="' . $loginUrl . '"</script>';

当我尝试在未登录 Facebook 的情况下使用我的应用程序时,它会将我定向到出现错误的页面的问题

 The page you requested was not found.
You may have clicked an expired link or mistyped the address. Some web addresses are case sensitive.

Return home
Go back to the previous page

根据我的代码给出该协议有什么问题,它应该将我引导至 facebook 登录表单,然后引导至我的应用程序。

4

1 回答 1

0

在我的 codeigniter 应用程序中,一切正常 :)

恒星

$config['facebook_login_parameters'] = array(
                                        'scope' => 'user_likes, friends_likes, email',
                                        'display' => 'page',

                                        'cancel_url' => 'http://www.facebook.com/',
                                        'redirect_uri' => 'http://apps.facebook.com/amnestyapp/',
                                        'canvas' => 1,
                                        'req_perms' => 'publish_stream, read_stream, read_friendlists,email',
                                        'next' => 'http://apps.facebook.com/amnestyapp/',

                                        );

丘帕卡布拉

class Chupacabra extends CI_Controller {

function index() {
    $this->load->model('fizzlebizzle');
    $result = $this->fizzlebizzle->get_user();


    if ($result['is_true']) {
        $this->session->set_userdata(array('facebook_uid' => $result['facebook_uid'], 'is_logged_in' => TRUE));
        redirect('secure', 'refresh');

    } else {
        //$data['page'] = 'home_view';
        //$this->load->view('template', $data);
        // tu logowanie


        $loginUrl = $this->facebook->getLoginURL($this->config->item('facebook_login_parameters'));
         echo '<script> window.top.location="' . $loginUrl . '"</script>';

    }
}

function logout() {
    $this->auth->logout();
}

}

于 2013-01-25T16:01:10.357 回答