Facebook我应该保留一个用户';我自己的数据库中有谁的朋友列表?
我正在开发一个连接到Facebook的应用程序(Flash/AS3)。用户登录后,我需要获取他的好友列表(仅ID),检查他们中是否有人是我的应用程序的用户(通过数据库上的注册表),通过向同时也是应用程序用户的每个用户添加标志来更新列表,然后对更新后的列表执行操作。我的问题是:Facebook我应该保留一个用户';我自己的数据库中有谁的朋友列表?,facebook,persist,Facebook,Persist,我正在开发一个连接到Facebook的应用程序(Flash/AS3)。用户登录后,我需要获取他的好友列表(仅ID),检查他们中是否有人是我的应用程序的用户(通过数据库上的注册表),通过向同时也是应用程序用户的每个用户添加标志来更新列表,然后对更新后的列表执行操作。我的问题是: 我是否应该请求好友列表,执行检查并检索应用程序启动时要闪烁的数据?我必须等待Facebook的回复,再加上执行脚本(php)的时间;我只有一个表,上面有应用程序的用户信息 或 我是否应该将用户的所有好友都保存在我自己
- 我是否应该请求好友列表,执行检查并检索应用程序启动时要闪烁的数据?我必须等待Facebook的回复,再加上执行脚本(php)的时间;我只有一个表,上面有应用程序的用户信息李>
- 我是否应该将用户的所有好友都保存在我自己的数据库中,并使用cron作业自动更新(可能每天一次)我的数据库,即请求每个应用程序用户的好友列表、执行检查、删除重复项等?在这种情况下,我将有一个包含应用程序用户的表,一个包含所有用户朋友的表(当然可能有数千个),以及一个与之前两个表相关的user\u friends表李>
希望我说清楚!谢谢 我曾经遇到过类似的问题。您将无法定期更新数据库,因为您通常需要一个活动用户(=访问令牌)来检索该用户的好友列表。以前,您可以请求“脱机访问”权限,但不推荐使用此权限: 我决定在我的应用程序第一次启动时,将所有朋友的ID写入我服务器上的文本文件(用户ID为filename:123456789.txt)(显示一个微调器和一条文字,上面写着“正在加载朋友…”)。之后每当启动应用程序时,我都会从该文件中取出ID
您可以通过检查该文件的创建日期来触发该文件的更新。如果它“太旧”,请在阅读完所有好友ID后删除并重新创建它。这样,文件缓存将在后台创建,用户不会注意到。我没有意识到“脱机访问”已经(即将)被弃用:/。所以我想你是对的-如果代币不再是“永久性的”,自动更新将无法工作。不过,您的解决方案似乎可以保留朋友ID的缓存。但是,你认为这是必要的吗?Facebook检索好友列表需要“那么长时间”吗?无论如何,我会保持应用程序现在的状态(我的问题中的选项1),当我准备好所有其他东西后,我会做一些测试,然后重新开始。谢谢!;)我刚刚意识到Graph API(developers.facebook.com/docs/reference/API/realtime)中有“实时更新”,这意味着可以订阅某些字段/连接的更改(用户的好友列表就是其中之一),facebook本身会将更改发布到我们选择的URL请求中,允许自定义应用程序数据更新/缓存。您可以通过应用程序访问令牌获取好友列表