Php $facebook->;api(';/me';);有时不';t载荷

Php $facebook->;api(';/me';);有时不';t载荷,php,facebook,api,Php,Facebook,Api,我对这件事有意见$用户_profile=$facebook->api('/me');有时有效,有时无效 在10个案例中,有8个是有效的,突然我在$user_profile中有一个空字符串。魔法在哪里 (我已经实现了最新的php SDK) 魔力来自Facebook,他们的平台似乎不稳定,你依赖于他们的服务器,而这些服务器可能不会一直工作 我知道你期待一个解决方案,但实际上只有一个答案来解释为什么它不起作用。这个问题的一部分也是->,我猜这只是一个静默超时,facebook会用一个空页面或其他东西来

我对这件事有意见$用户_profile=$facebook->api('/me');有时有效,有时无效

在10个案例中,有8个是有效的,突然我在$user_profile中有一个空字符串。魔法在哪里

(我已经实现了最新的php SDK)


魔力来自Facebook,他们的平台似乎不稳定,你依赖于他们的服务器,而这些服务器可能不会一直工作


我知道你期待一个解决方案,但实际上只有一个答案来解释为什么它不起作用。

这个问题的一部分也是->,我猜这只是一个静默超时,facebook会用一个空页面或其他东西来响应。是的,这是真的,你可以使用try-catch,如果响应为null,你可以向用户显示一条自定义错误消息以重试。
// FB lib
require_once './libs/facebook.php';
error_reporting(0);

// connect
$facebook = new Facebook(array(  
    'appId'  => 'xxx',  
    'secret' => 'xxx',  
    'cookie' => true
)); 

$user = $facebook->getUser();
$fb_id = $facebook->getUser();

if ($user) {
    try {
        $_SESSION['user'] = $user_profile = $facebook->api('/me');
        $_SESSION['fb_id'] = $fb_id;
} catch (FacebookApiException $e) {
    error_log($e);
    $user = NULL;
  }
}

if ($user == NULL) {
   $loginUrl = $facebook->getLoginUrl(
       array(
        'display' => 'popup',
        'scope' => 'publish_stream, user_likes',
        'redirect_url' => 'https://xxxx.cz/xxxx/canvas/index.php'
    )
);    
} else {  
     $_SESSION['fb_id'] = $fb_id;
     header("Location: https://xxxx.cz/xxxx/xxxx.php");
}