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 スクリプトを機能させるように設定する必要があったため、同じ問題かどうか疑問に思いました。何かアドバイス?