2013-02-26 90 views
0

我正在制作一个应用程序应用程序,它在我的服务器和URL上正常工作,当我尝试将它作为“Facebook上的应用程序”注销后无法加载或登录。我相信权限范围会带来一些问题。Facebook应用程序在服务端工作,而不是作为“Facebook上的应用程序”工作

服务器的网址:http://veritas.betamass.com

为“应用程序在Facebook上”方的网址:https://apps.facebook.com/orientacionveritas/

请注意,如果你的服务器上成功登陆,你将能够看到“应用上Favcebook,如果不是你会得到一个什么

,使Facebook的连接代码:

if(!isset($_SESSION['user'])) 
{ 
    //Application Configurations 
    $app_id  = "148133482012457"; 
    $app_secret = "24d0088e17c1dcb33ac6bb424a5d2a5c"; 
    $site_url = "http://veritas.betamass.com/"; 

    try{ 
     include_once "src/facebook.php"; 
    }catch(Exception $e){ 
     error_log($e); 
    } 
    // Create our application instance 
    $facebook = new Facebook(array(
     'appId'  => $app_id, 
     'secret' => $app_secret, 
     'cookie' => true, 
     )); 

    // Get User ID 
    $user = $facebook->getUser(); 
    $access_token = $facebook->getAccessToken(); 
    $facebook->setAccessToken($access_token); 

    // We may or may not have this data based 
    // on whether the user is logged in. 
    // If we have a $user id here, it means we know 
    // the user is logged into 
    // Facebook, but we don�t know if the access token is valid. An access 
    // token is invalid if the user logged out of Facebook. 
    //print_r($user); 
    if($user){ 
     // Get logout URL 

     $logoutUrl = $facebook->getLogoutUrl(); 

    }else{ 
     // Get login URL 
     $params = array(
     'scope' => 'read_stream, publish_stream, email, user_about_me, user_hometown, user_education_history, user_interests', 
     'redirect_uri' => $site_url, 
     ); 
     $loginUrl = $facebook->getLoginUrl($params); 

     /*$loginUrl = $facebook->getLoginUrl(array(
      'scope' => 'read_stream, publish_stream, email, user_about_me, user_hometown, user_education_history', 
      'redirect_uri' => $site_url, 
      ));*/ 
    } 

帮助!

回答

0

如果用户不存在或没有会话,您需要先让他们登录。您的代码没有考虑到这一点。

如果会话/ $facebook->getUser()返回false,请尝试将用户重定向到$facebook->getLoginUrl()

相关问题