2013-02-27 61 views
0

我正在制定一个与Facebook紧密相连的项目。但是,我有几个与程序流程有关的问题。Facebook Api程序流程

用户可以通过Facebook进行身份验证,允许我使用用户的access_token进行数据查询。现在,当我需要这些数据时,我称之为api。发生这种情况的频率更高(在不同的页面上,需要提供视图所需数据的字段)。我看到的一个缺点是,我每次查询Facebook的API时,都会在我的某个网站上发出请求。这是一件坏事吗?

另一个选择是将在会话中存储整个数据阵列(或请求它,当没有会话被发现),并拉出它的所需的数据,而不是仅仅在FB ID和访问令牌。

如果有人有一个更好的主意,或有这方面的经验,把它扔向我。任何提示都表示赞赏。

Regards, matvp。

回答

0

我想这会更好,如果你 查询您可能需要的所有数据并将其存储在会话中,并在您的网站上进一步使用会话。 或者,查询所有你想要的数据并将它与ID一起存储在你的数据库中,不管你的数据库是什么,然后在需要数据时查询你的数据库

+0

我去与数据库的想法,加载时间,80%的提高。 – 2013-03-04 09:20:47

+0

@MatthiasVanParijs好知道,但有你需要了解存储用户的数据更多的事情[这里](http://developers.facebook.com/policy/) “你可以缓存数据,你通过使用Facebook的接收API以改善您的应用程序的用户体验,但您应该尽量保持数据是最新的。此权限不会赋予您任何此类数据的任何权利。“ – ImadBakir 2013-03-04 14:21:46

+1

是的,我知道这一点。我在数据库中持有两个额外的字段:last_local_update,fb_last_update。他们是自我解释。如果它们不同,我会从Facebook获取新的用户数据并推送更改。我想我可能会用一个额外的字段来检查数据源(自己的输入或Facebook)。如果数据被自己的输入所改变,它会忽略Facebook所做的更改。例如;有些更喜欢不同的电子邮件地址为了进一步优化加载速度,我使用memcached来显示明显的冗余数据(例如:语言,...)。 – 2013-03-07 09:09:55