保留Facebook好友列表的本地副本

时间:2012-11-09 16:38:19

标签: android facebook-graph-api

我创建了一个应用程序,它从Facebook帐户获取朋友列表,然后在SQLite数据库中存储朋友数据的部分记录(只是名称和uid)。

我不确定这可能在多大程度上成为关于隐私等的问题。

这甚至会违反Facebook规则吗?

不要故意粗鲁或其他任何事情,但请不要回答“你为什么要保留当地的朋友名单”等答案。假设有一个很好的理由。

2 个答案:

答案 0 :(得分:1)

我收回它,SharedPreferences可能不会更好。内部文件存储可能就是您想要的。它应该比SQLite DB快得多。并且在卸载您的应用时也会将其删除

您要做的是,假设您同时拥有Facebook好友列表,将其保存到HashMap,然后使用内部文件存储保存该hashmap。

请看这里写得非常好的工作代码:

Android - SharedPreferences with serializable object

答案 1 :(得分:1)

根据我们Facebook Platform Policies第II部分中的这一部分:

  

您可以通过使用Facebook API缓存您收到的数据,以便改善应用程序的用户体验,但您应该尝试使数据保持最新。此权限不授予您对此类数据的任何权利。

IANAL,但我对此的解释似乎是您可以缓存数据,但您没有权利以持久的方式存储数据。

要考虑的另一个问题是如何保持与用户的实际朋友列表的一致性。如果您确实存储了数据,然后用户添加了5个朋友但删除了3个旧朋友,那么您将如何更新并保持数据在本地数据库中保持新鲜状态?你必须从Facebook中提取用户的朋友列表,如果你不得不每次都拿到它,这会破坏存储它的整个点(但是既然你没有说明这样做的目的,我认为你有一个存储它的好理由,而不是每次只读取)。