我想从我对移动游戏的客户端和服务器端流程的理解建议,以实现Facebook登录,并使用用户的Facebook图片和用户名。
FLOW
1)客户端 - 用户点击facebook登录/注册功能,客户端将从facebook获取访问令牌,然后我们将使用客户端将访问令牌传递给我们的服务器并使用facebook验证它是否是有效,然后我们在我们的服务器上存储有效的会话。
2)当我们验证用户是否有效时,我们还获取并存储url到他们的fb个人资料图片,还有用于显示的全名,至于最新的图表api我们只获得app范围ID,但不是fb id,所以我认为必须为fb上不是他们的朋友的其他用户存储图片链接和全名显示。
所以我的问题1和2分为2部分,如果我的流程正确,请发表评论,尤其是2,因为我认为我的建议会占用很多数据库而服务器会很慢。 / p>
如果我们不存储它,我不认为我们可以单独使用app scoped id检索用户个人资料图片链接和他们的名字,从我的理解,我们将需要访问令牌来检索那些,甚至有一个解决方案通过使用app id和app secret,这意味着我们将不得不进行大量查询并从fb下载大量查询并将这些数据重定向到用户,但我们将在数据库中节省空间,并且如果fb用户更改了这些数据
答案 0 :(得分:0)
您的问题的第二部分“显示给其他用户,而不是他们在fb上的朋友”似乎违反了Facebook平台政策。
- 仅显示从设备上的用户访问令牌获取的数据 与该令牌相关联。
- 仅使用好友数据(包括朋友) 列表)该人在您的应用程序中的体验。
醇>
在这种情况下,您的应用可能无法获得批准。
您可以与用户的朋友合作。用户授予您user_friends
权限后,您可以拨打/me/friends
边缘以获取朋友的姓名和身份证明。
在iOS中(使用Facebook SDK 4.x),您可以使用以下代码获取此人的个人资料照片:
FBSDKProfilePictureView *profilePicture = [[FBSDKProfilePictureView alloc] initWithFrame: frame];
[profilePicture setProfileID: friendId];