2012-04-23 117 views
0

我正在使用Codeignitor。facebook用戶認證php

我想通過我的應用程序發佈到Facebook。

的問題是,它總是返回您還沒有登錄。

這裏是我的嘗試..

function postTofb() 
{ 


require_once("pocket/fb/facebook.php"); 
     $fbconfig = array(); 
     $fbconfig['appId'] = 'app_id'; 
     $fbconfig['secret'] = 'app_secret'; 
     $fbconfig['baseurl'] = "site_name"; 

       $facebook = new Facebook($fbconfig); 
     $user = $facebook->getUser(); 


       if($user) 
      { 
      try { 

       $user_profile = $facebook->api('/me'); 
      $ID = $user_profile['id']; 
      echo $ID; 

       } 
     catch (FacebookApiException $e) 
     { 

     echo $e; 

      } 


     } 
     else 
     { 

     //else starts 

      $loginUrl = $facebook->getLoginUrl(
      array(
       'scope'=> 'email,offline_access,publish_stream,user_birthday,user_location,user_work_history,user_about_me,user_hometown', 
       'redirect_uri'=>$fbconfig['baseurl'] 
      ) 
     ); 
    $data["status"] = FALSE; 
    $data["url"] = $loginUrl; 
    echo json_encode($data); 
    //else ends 
     } 
    } 

現在我通過Ajax調用該函數...但它總是與錯誤的響應...我的意思是其他部分。

這裏什麼我得到

{"status":false,"url":"https:\/\/www.facebook.com\/dialog\/oauth?client_id=281255791959236&redirect_uri=http%3A%2F%2Fwww.MY_SITE_NAME.com%2F&state=3d19a96f48022344222f518609f30537&scope=email%2Coffline_access%2Cpublish_stream%2Cuser_birthday%2Cuser_location%2Cuser_work_history%2Cuser_about_me%2Cuser_hometown"} 

看起來像我錯過了一些點......請幫助我..

謝謝。

回答

0

Facebook不再支持離線訪問,只有您可以做的事情是生成一個最多60天的令牌。

+0

好的,所以我需要獲取accessTocken,對吧? – Red 2012-04-23 16:40:38

+0

那麼首先嚐試沒有脫機訪問好嗎? – JonathanRomer 2012-04-23 16:49:49

+0

是啊..如何可以生成令牌? – Red 2012-04-23 16:53:27

0

問題與LoginUrl

有關我刪除了一些權限參數和它的工作。

loginUrl = $facebook->getLoginUrl(array("scope")=>"publish_stream");

謝謝。