2015-03-30 34 views
0

我正在开发一个Web应用程序has a Facebook group associated with it。我只希望我的应用程序的授权用户能够加入此组,并且我不希望他们必须由组管理员手动批准。如何将Facebook群组限制为授权用户?

我的第一个想法是使用JavaScript SDK中的game_group_join对话框,并将此对话框仅显示给授权用户。但是这似乎有一些问题;没有办法跟踪哪些Facebook帐户与我的应用程序中的哪些帐户相关联,无法禁用JavaScript,似乎无法通过向Facebook本身发出底层HTTP请求来阻止未经授权的用户加入群组等等。服务器端解决方案似乎可以消除这些问题,但我不确定Facebook应用程序组是否有一个。

任何人都可以提供意见,我应该如何处理这个?

回答

0

Tayman, 你的第一个想法是非常多的方式,是的,有一个服务器端解决方案(与应用程序ID和应用程序的秘密)。

当他们执行加入对话框时,或者您检查登录的用户是否是您的应用程序组的成员并将其应用程序范围的用户ID记录在其网站用户记录中时,您必须记录一些内容。

总结: 使用应用程序(php?)创建一个封闭的组。

https://developers.facebook.com/docs/graph-api/reference/v2.3/app/groups#publish

用户只能通过应用程序加入该群,他们不能要求只从FB里面加入。 下面是测试组我一直在玩: https://www.facebook.com/groups/879916105406758/

,你可以做很多与JS,但是“我添加到组”必须完成与JavaScript的加入对话。
https://developers.facebook.com/docs/games/app-game-groups#join

Facebook只允许php'加入'测试用户,而不是正常的Facebook用户。 https://developers.facebook.com/docs/graph-api/reference/v2.3/group/members/

一旦用户授权你,你可以检查他们属于哪个组,并记录他们的应用范围的用户ID和你的网站用户记录。

0

Taymon,这里是我认为适合您的案例的解决方案:

- 让用户使用public_profile权限登录您的应用。从这里您可以捕获用户的app_scope_id

- 检查是否允许用户加入组,显示Javascript对话框'game_group_join'并邀请用户加入。

- 用户登录/连接Facebook后,必须将现有用户与他们的Facebook app_scope_id关联起来。