Iam正在开发一个php脸书应用程序,该应用程序将显示脸书用户的脸书分数,这取决于朋友数、视频、订阅量、上传的照片、他/她的状态评论、点赞页面和链接。正如你所知,我们必须从不同的api url获取这些数据,所以,我写了一个类似的php代码
if($user){
try {
// Proceed knowing you have a logged in user who's authenticated.
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
echo "err0";
$user = null;
}
try{
$user_freinds = $facebook->api('/me/friends');
} catch (FacebookApiException $e) {
echo "err1";
$user = null;
}
try{
$user_subscribers = $facebook->api('/me/subscribers');
} catch (FacebookApiException $e) {
echo "err2";
$user = null;
}
try{
$user_links = $facebook->api('/me/links');
} catch (FacebookApiException $e) {
echo "err3";
$user = null;
}
try{
$user_foto = $facebook->api('/me/albums');
} catch (FacebookApiException $e) {
echo "err4";
$user = null;
}
try{
$user_likes = $facebook->api('/me/likes');
} catch (FacebookApiException $e) {
echo "err5";
$user = null;
}
try{
$user_videos = $facebook->api('/me/videos/uploaded');
} catch (FacebookApiException $e) {
echo "err6";
$user = null;
}
try{
$user_statues = $facebook->api('/me/statuses');
} catch (FacebookApiException $e) {
echo "err7";
$user = null;
}
}
但不幸的是,这让我的应用程序运行得更慢,您有任何建议可以让它更快地运行
您正在连续多次调用API。这可能需要一段时间,而且您肯定无法加快通话速度。以下是一些提示:
- 只有在用户第一次进入你的应用程序并显示加载图标或类似内容时,才能请求所有信息,让他知道正在发生的事情
- 缓存您从Facebook获得的数据并使用缓存版本,而不是在每次页面/访问中查询API
- 使用批处理请求"一次访问大量数据"
- 使用ETag优化Graph API数据获取
- 使用实时更新功能
- 和/或:让用户决定应该请求哪些数据