-1
我有以下代碼。每次我加載這個頁面,如果沒有user_id信息需要3-5秒。我可以縮短加載時間嗎?
$user_id = $facebook->getUser();
if ($user_id) {
echo "have user";
try {
$user_profile = $facebook->api('/me','GET');
} catch (FacebookApiException $e) {
error_log($e);
$user_id = null;
}
$_SESSION['facebook']= $_SESSION;
$_SESSION['user_profile'] = $user_profile;
} else {
echo "no user";
$loginUrl = $facebook->getLoginUrl(
array(
'scope' => 'publish_stream, user_likes'
)
);
echo "<script type='text/javascript'>top.location.href = '$loginUrl'; </script>";
}
我也有以下代碼發佈圖像到用戶相冊。大約需要4-8秒才能迴應「成功」。任何方式使其更快?
//Session start
$user_profile = $_SESSION['user_profile'];
$user_id = $user_profile['id'];
// Do the wall post.
$msg_new = "hello";
$link = "XXXXYYYY";
$facebook->setFileUploadSupport(true);
$imgURL = "user_img/".$user_id.".jpg";
$args = array('message' => $msg_new.$link);
$args['image'] = '@' . realpath($imgURL);
$facebook->api('/me/photos', 'post', $args);
$result = "success";
echo $result;
僅供參考:我在本地主機上測試這個。
嗨CBroe,我已經把它放在真正的網絡服務器上。速度沒有太大的不同。 – Nick 2012-07-07 13:16:51
我意識到問題不是由於$ loginURL,而是在$ facebook-> api上獲取用戶數據。我使用microtime來測量facebook api上的持續時間。持續時間從1秒到30秒。任何解決辦法,使其更快? FQL會使它更快嗎? – Nick 2012-07-08 06:22:11