我正在考虑如何解决下一个问题:
- 我想连接到 facebook 和服务器后端(Srv)的 Android 应用程序。
- 我想连接到 facebook 的服务器后端(Srv)。
- 服务器将运行一个任务,该任务将获取用户的所有朋友(在 fb 上)和用户状态(在 Fb 上),并将它们存储在上面。
基本假设:
- 我使用 android 作为移动设备
- 服务器是 GAE
- GAE 中的实体键是用户的 FB-id
- 用户实体包含:
- 用户 fb_id
- 用户验证列表(FB_ID 字符串)=> 拥有该应用的用户的朋友)// 可能使用 HT?
- 用户状态列表(状态文本、日期、网址)=> 我可以从 facebook 中的用户状态中获得的任何信息..
主要问题:
- 数据表示是否经过深思熟虑?可以更好吗?
- 如何处理相互连接的两个用户同时添加应用程序的情况 - 如何避免重叠?
- 设备是否应该通过 GAE 服务器验证自身?
- 如何使用 FB 对 GAE 进行身份验证
算法:
安卓端:
User login and get access token from FB
Posting to my server(Srv) FB Token & myUserFBId // Should I use REST protocol or HTTP
邮政?
服务器端:
A Servlet handles the POST
{
Query FB ->for the user's friends ids(into friendList = arrayList<FBItem))
foreach FBItem item in friendList
{
//check which FB-ids are in my DB
friendEntity = getKey(item.fb_id)
if(friendEntity != null)
{
// friend exists
verifiedFriendsList.add(item.fb_id) //verifiedFriendsList is ArrayList<String>
friendEntity.getVerifiedFriendList().add(myUserFBId)
}
}
Query FB ->for the user's statuses(into statuses = arrayList<StatusItem))
add new FBEntity(myUserFBId, verifiedFriendsList, statuses) to DB }
谢谢