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