2012-09-05 30 views
0

我使用Facebook進行身份驗證並向他們提供某些權利。 蔭使用Zend框架,並有功能Accesstoken臉書不活躍?

initFacebook(){ 

$db = Application_Model_DB::create(); 
    $db->setTable('users'); 

    Zend_Session::start(); 
    $facebookuser = new Zend_Session_Namespace('facebookUser'); 


    include('../library/Facebook/facebook.php'); 


    $facebook = new Facebook(array(
     'appId' => '282270168507838', 
     'secret' => '*cencor*', 
    )); 
    $accesstoken = $facebook->getAccessToken(); 

    try { 
     $user_profile = $facebook->api('/me?accesstoken='.$accesstoken); 
     $user = $facebook->getUser(); 
     $fbname = $user_profile['name']; 

     $result = $db->fetchAllAsArray('fbid = "'.$user.'"'); 

     if (count($result) == 0) { 
      $db->save(array('fbid'=>$user,'status'=>'standard','name'=>$fbname)); 
     } 
     else { 
       $facebookuser->status = $result[0]['status']; 
       $facebookuser->fbname= $result[0]['name']; 
       $facebookuser->fbuser = $result[0]['fbid']; 


     } 


     } catch (Exception $e) { 
     $user = 0; 
     $facebookuser->error = $accesstoken; 
     $facebookuser->unsetAll(); 

    } 
} 

中在我的引導類此代碼,但這個工程的只有約10分鐘到幾個小時。

http://www.nicomollema.nl/我有一個演示,我使用德PHP SDK做服務器端編碼,並且我使用de javascript sdk來生成登錄/註銷按鈕。

當我檢查它給我的錯誤是這樣的:必須使用活動的訪問令牌來查詢有關當前用戶的信息。你可以看到我這樣做:$ accesstoken = $ facebook-> getAccessToken();取得祕密,那它怎麼會失效?

回答

0

我犯了一個大寫錯誤:我在JavaScript SDK中使用了一個與PHP SDK中不同的APPID。這些當然必須是一樣的。