1

我正在尝试使用 codeigniter 连接 facebook。如果我第一次连接,那么我可以看到权限弹出窗口,但是在我授权权限后,我收到多个重定向循环错误。

如果我已经登录并授权站点,那么为什么它没有获得 uid。

我在 facebook 中提供了网站网址:http: //mysite.com/

我的重定向 uri 是http://mysite.com/facebook/

我已将这些文件添加到我的库文件夹中。

library/fb_connect.php
library/facebook/facebook.php
library/facebook/base_facebook.php
library/facebook/fb_ca_chain_bundel.crt

facebook 文件夹中的最后 3 个文件是 facebook SDK 文件。

这是我的 fb_connect.php 中的代码

<?php
include(APPPATH.'libraries/facebook/facebook.php');

 class Fb_connect {


function connect(){


$facebook = new Facebook(array(
    'appId'  => 'XXXXXXX',
    'secret' => 'XXXXXXXXXXXXXX',
    'cookie' => true,
 ));

    //Get User ID
  $user=$facebook->getUser();

  if(!$user){
   $loginUrl=$facebook->getLoginUrl(array(
    'scope'         => 'email,publish_stream,user_birthday,user_location',
    'redirect_uri'  => 'http://localhost/beta/facebook/',
    'display'=> 'popup'
    ));

    redirect($loginUrl')";
    exit();


 } else {
$user_profile = $facebook->api('/me');

 print_r($user_profile);

}
 ?>

这是我的控制器代码:

function  facebook(){

  $this->load->library('fb_connect');
  $user_data=$this->fb_connect->connect();

 }
4

1 回答 1

0

有几件事;

1.你说“我的重定向 uri 是http://mysite.com/facebook/ ” - 但在你的代码中:

'redirect_uri'  => 'http://localhost/beta/facebook/',

应该:

'redirect_uri'  => 'http://mysite.com/facebook/',

2.您说“我在 facebook 中提供了网站网址:http: //mysite.com/ ” - 您还需要在您的 facebook api 中专门设置返回网址 - 应该是“http://mysite.com/facebook”

3.你说你的重定向是“http://mysite.com/facebook/”——你把它设置为路由了吗?因为通常它应该是“http://mysite.com/mycontroller/facebook/”

4.您有错字(如果这是复制+粘贴):

redirect($loginUrl')";

应该

redirect($loginUrl);
于 2012-06-05T22:30:44.280 回答