我的应用需要用户的朋友信息(生日,图片和名称):
我通过SDK(php)使用Graph API。
我首先通过api('/me/friends')
申请好友ID
之后我请求上述信息:api('/id?fields=name,picture,birthday')
为了优化速度,我在批量请求中进行调用。
我的问题是,加载530个朋友需要aprox 40秒,这在我看来很多。我正在使用由其他人开发的类似应用程序,他们在9秒内加载了朋友(相同的信息)。
我想知道你们中是否有人知道如何更快地请求这些信息,或至少解释这种差异的来源。
答案 0 :(得分:0)
只需使用fql作为 -
,而不是进行如此多的api调用$fql = "select uid,name,birthday_date from user where uid in (select uid2 from friend where uid1=me())";
$param = array(
'method' => 'fql.query',
'query' => $fql,
'access_token'=> ACCESS_TOKEN
);
$friends_arr = $facebook->api($param);
使用以下方式获取图片的路径:
https://graph.facebook.com/'.$FRIEND_ID.'/picture?type=TYPE
答案 1 :(得分:0)
您可以尝试首次将数据初始加载到本地数据库中,以便您可以使用它来获取更多信息。检索起来要快得多。
如果页面上有很多插件,可能会降低结果的速度(例如,使用类似的插件)。
连接到Facebook所需的时间(延迟)通常是您无法控制的,因此您可以将请求转换为异步请求,并向用户显示其在此过程中正在加载。