1

codeigniter を使用して Facebook に接続しようとしています。最初に接続している場合、許可ポップアップが表示されますが、許可を承認した後、複数のリダイレクト ループ エラーが発生します。

すでにログインしていてサイトが承認されている場合、なぜ uid を取得していないのですか。

Facebook でサイトの URL を指定しました: 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 でサイトの URL を指定しました: http://mysite.com/」 - Facebook API で戻り URL を具体的に設定する必要があります - 「 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 に答える