1

提供されたデモで FB_Ignited を動作させることができますが、自分のサイトのランディング ページから試してみると、次のようになります。

  1. Authコントローラーにヒットします
  2. FBに行きます
  3. $content_data を渡しながら、Auth コントローラーに戻り、「開始」ビューをロードします。

何らかの理由で、開始ビューで $this->fb_me が使用できません。

これが私の Auth コントローラーです。これは、ランディング ページから FB ボタンが押されたときにヒットします。

class Auth extends CI_Controller {

function __construct()
{
    parent::__construct();      

    $this->load->library('fb_ignited');
    // The fb_ignited library is already auto-loaded so call the user and app.
    $this->fb_me = $this->fb_ignited->fb_get_me();      
    $this->fb_app = $this->fb_ignited->fb_get_app();

    // This is a Request System I made to be used to work with Facebook Ignited.
    // NOTE: This is not mandatory for the system to work.
    if ($this->input->get('request_ids'))
    {
        $requests = $this->input->get('request_ids');
        $this->request_result = $this->fb_ignited->fb_accept_requests($requests);
    }
}

function index($type="")
{   
    if (isset($this->request_result)) {
        $content_data['error'] = $this->request_result;
    } 

    if ($this->fb_me) {
        $content_data['me'] = $this->fb_me;
    } 

    $this->load->model('users');
    $checkandadd = $this->users->checkandadd($this->fb_me);

    $this->load->view('start', $content_data);
}

}

役立つかどうかはわかりませんが、$this->facebook の出力は次のとおりです (ID とハッシュは意図的に微調整されています)。

Facebook Object
(
    [appId:protected] => 123456123456123456
    [apiSecret:protected] => 123456123456123456
    [user:protected] => 0
    [signedRequest:protected] => 
    [state:protected] => 123456123456123456
    [accessToken:protected] => 123456123456123456|123456123456123456
    [fileUploadSupport:protected] => 
)

その他の注意事項:

  • *RECURSION*print_r($this->fb_ignited) するたびに数回表示されます
  • エラーログには何も表示されません

誰もが前にこのようなことに遭遇しましたか?

4

1 に答える 1

0

Facebook Ignitedの最新バージョンでは、最新の Facebook PHP SDK を使用しているため、クエリ文字列が有効になっておらず、ユーザー情報が読み込まれていないという問題に対処していることがわかります。CodeIgniter アプリケーションに最小限の変更を加えてダウンロードできるv1.1.2にアップグレードすることをお勧めします。

于 2012-10-22T04:26:20.637 に答える