2016-05-06 6 views
0

FBログインの$this->fbconnect->getUser();OpenCart2.1.xでアクセスしているうちに、結果として0が表示されています。Facebook PHP SDK getUserが常に0を返すのはなぜですか? Opencart

if(!$this->customer->isLogged()){ 
      if(!isset($this->fbconnect)){    
    require_once(DIR_SYSTEM . 'facebook/facebook.php'); 
    $this->fbconnect = new Facebook(array(
     'appId' => $this->config->get('facebook_apikey'), 
     'secret' => $this->config->get('facebook_apisecret'), 
     'redirect_uri' => $this->url->link('facebook/facebook', '', 'SSL'), 
     'cookie' => true, 
     'domain'=>'abc.com' 
    )); 
    } 

    $data['facebook_url'] = $this->fbconnect->getLoginUrl(
    array(
     'scope' => 'public_profile, email', 
     'redirect_uri' => $this->url->link('facebook/facebook', '', 'SSL') 
    ) 
    ); 
} 

register.tplにURLが結構ですと:

  • registerコントローラでは、私は以下のようにURLを作っています:以下

    は、私が使用していることを、コードであります私はFBログインページにリダイレクトされて認証されています。私のウェブサイトに戻ってログインした後、私はgetUser()の機能のために0を得ています。

    • catalog/controller/facebook/facebook.phpコードでFacebookコントローラは、以下のようなものです:

      if(!isset($this->fbconnect)){   
          require_once(DIR_SYSTEM . 'facebook/facebook.php'); 
      
          $this->fbconnect = new Facebook(array(
           'appId' => $this->config->get('fbconnect_apikey'), 
           'secret' => $this->config->get('fbconnect_apisecret'), 
           'redirect_uri' => $this->url->link('facebook/facebook', '', 'SSL'), 
          )); 
      } 
      
      $_SERVER_CLEANED = $_SERVER; 
      $_SERVER = $this->clean_decode($_SERVER); 
      
      echo $fbuser = $this->fbconnect->getUser(); **0** 
      

    完全なコードはここで見つけることができます:: Click Here

    マイアプリの設定は以下のとおりです。

    enter image description here

    ここ:: abc.comは、実際のウェブサイトのURLがここに置き換えられることを意味します。

    Please do not mark this question as DUPLICATE because i have already searched on SO and everywhere and nothing is working here for me. So, please try to give the solution and that is i am posting question after searching for more than 1 day.

+0

echo $fbuser = $this->fbconnect->getUser(); 

を置き換えますか? [このグラフのAPIユーザーを参照](https://developers.facebook.com/docs/graph-api/reference/v2.6/user) – itzmukeshy7

+0

私は得られなかった..あなたはもっと説明できます – Gags

+0

最初に必要なデータを取得するにはそのデータのためにフェイスブックに問い合わせる。この場合、ユーザーのIDを取得しようとしているときは、まずFacebookのユーザーデータにクエリを実行してから、必要なIDを取得する必要があります。 – itzmukeshy7

答えて

1

これを試してみてください;)

あなたはユーザーデータを照会している
try { 
    // Returns a `Facebook\FacebookResponse` object 
    $response = $this->fbconnect->get('/me?fields=id,name', '{access-token}'); 
} catch(Facebook\Exceptions\FacebookResponseException $e) { 
    echo 'Graph returned an error: ' . $e->getMessage(); 
    exit; 
} catch(Facebook\Exceptions\FacebookSDKException $e) { 
    echo 'Facebook SDK returned an error: ' . $e->getMessage(); 
    exit; 
} 

$user = $response->getGraphUser(); 

echo 'Id: ' . $user['id']; 
echo 'Name: ' . $user['name']; 
+0

私に教えてください返す致命的なエラー: '未定義のメソッドへの呼び出しFacebook :: get()' – Gags

+0

PHP SDKをPHP 5 SDKで再利用し、 JSとPHP SDKのアプローチ – Gags

関連する問題