使$ facebook-> api加载更快并发布到相册以更快上传?

时间:2012-07-07 12:23:18

标签: php facebook facebook-graph-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上测试这个。

1 个答案:

答案 0 :(得分:0)

  

仅供参考:我在localhost上测试了这个。

然后,这些请求可能会延迟(相对)慢的互联网连接,与您的机器同时处理的其他请求(音乐流,p2p,...)等竞争。

我不担心这一点,看看你把它放在一个“真正的”网络服务器上它的行为,它可能与你的家用机器有更好的连接。如果它仍然很慢,那么是时候进一步调查此事了。