我有一个在iFrame模式下运行的PHP应用程序。我在<fb:multi-friend-selector condensed="true">
标记内部呈现<fb:serverfbml>
。这是在一个PHP文件中,该文件调用一个函数,该函数使用$facebook->api_client->friends_get();
获取用户ID列表。多朋友选择器渲染得很好,但是,当我将friend_get()调用取消注释时,页面需要15-20秒才能加载(使用Firebug确认)!目标是通过构建不显示的用户ID列表来限制选择器中显示的用户数,以便在friend选择器的exclude_ids参数中使用。因为它是“exclude_ids”而不是“include_ids”,所以我想不出一种绕过这个api调用的方法。在我看来,必须有一些东西可以让api调用更快,因为我已经看到朋友选择器加载速度更快。
答案 0 :(得分:1)
经过一个多月的磨练,我发现了一个相当可行的解决方法。从您制作的任何AJAX请求中,PHP API调用将非常非常。这可能与Facebook参数丢失或其他一些无意义有关。
解决方法的工作原理如下:不要通过AJAX调用PHP文件调用Facebook API函数,而是确保将所有对Facebook API的PHP调用隔离到首次加载应用程序时加载的索引文件。将返回的值保存到会话变量中,现在可以在随后的任何AJAX调用中加载这些值。