制作$ facebook-> api加载速度更快,并发布到相册上传速度更快?
问题描述:
我有以下代码。每次我加载这个页面,如果没有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;
仅供参考:我在本地主机上测试这个。
答
仅供参考:我在localhost上测试了这个。
然后请求由(相对)互联网连接速度较慢可能被延迟,通过与您的机器在同一时间处理其他请求(音乐流媒体,P2P,...)等
竞争我不担心这种情况,并且看到它在一个“真实的”Web服务器上运行后的表现如何,它可能与您的家用机器有更好的连接。如果它仍然很慢,那么然后是时候进一步调查此事了。
嗨CBroe,我已经把它放在真正的网络服务器上。速度没有太大的不同。 – Nick 2012-07-07 13:16:51
我意识到问题不是由于$ loginURL,而是在$ facebook-> api上获取用户数据。我使用microtime来测量facebook api上的持续时间。持续时间从1秒到30秒。任何解决办法,使其更快? FQL会使它更快吗? – Nick 2012-07-08 06:22:11