0

Facebook API を使用してユーザーをログインさせるサイトに取り組んでいますが、Facebook API 自体に不可解な問題が発生しています。CodeIgniterを使った結果だと思います。

Codeigniter を使用しない PHP スクリプトを追加したところ、接続できました。次のようになります。

require_once("application/libraries/Facebook/facebook.php");

$facebook = new Facebook(array(
        'appId'  => 'appid-removed-for-question',
        'secret' => 'secret-removed-for-question',
));

$user = $facebook->getUser();
echo $user;

これにより、Facebook から適切な UID が返されます。

CodeIgniter ライブラリを使用してこれを実行しようとすると、UID は一貫して 0 に戻ります。ライブラリ コードは次のとおりです。

include(APPPATH.'libraries/Facebook/facebook.php');

class Fb_connect extends Facebook{

    public $user;

    public function __construct()
    {
        $CI =& get_instance();
        $CI->config->load("facebook",TRUE);
        $config = $CI->config->item('facebook');
        parent::__construct($config);

        $this->user = $this->getUser();
        echo $this->user;
    }
}

構成ファイルで自分の appid とシークレットを 2 回と 3 回チェックし、ここでエコーして配列として正しく送信されていることを確認しましたが、まだ何もありません。 $this->user;UID に対して常に 0 を返します。私は何が欠けていますか?

uri_protocol が問題であるというこの質問を見た$config['uri_protocol'] = 'QUERY_STRING';ところですが、最初に mod_rewrite スクリプトを機能させるように設定する必要があったため、同じ問題かどうか疑問に思いました。何かアドバイス?

4

2 に答える 2

0

私がリンクした質問への答えは、実際に問題を解決しました:

$config['uri_protocol'] = 
    (isset($_SERVER['HTTP_REFERER']) && 
     strpos($_SERVER['HTTP_REFERER'], 'apps.facebook.com') !== false) ? 
         "PATH_INFO" : "REQUEST_URI";
于 2012-06-19T18:14:34.960 に答える
0

これを使用してください.. require_once($_SERVER['DOCUMENT_ROOT']."/".$this->config->item('app_folder_path')."application/libraries/Facebook/facebook.php");

config.php ファイルで app_folder_path 構成変数を設定したことを確認してください。

于 2012-06-20T11:20:48.390 に答える