Accesstoken facebook不活跃?

时间:2012-09-05 21:50:35

标签: php javascript facebook zend-framework authentication

我正在使用Facebook进行身份验证并向他们提供某些权利。 我使用Zend Framework并在函数

中的bootstrap类中使用此代码
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分钟到几个小时。

on http://www.nicomollema.nl/我有一个演示,我使用de PHP SDK进行服务器端编码,我使用de javascript sdk生成登录/注销按钮。

当我检查错误时,它给出的是:必须使用活动访问令牌来查询有关当前用户的信息。

但正如你所看到的那样:$ accesstoken = $ facebook-> getAccessToken();获得accessstoken,那怎么可能无效?

1 个答案:

答案 0 :(得分:0)

我犯了一个大错:我在JavaScript SDK中使用了与PHP SDK中不同的APPID。当然,这些必须是相同的。