2012-09-05 32 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。这些当然必须是一样的。