EDITAR : Este protocolo usa FQL, que se tornou obsoleto na plataforma do Facebook v2.1 e superior, então não confie mais nele.
Você pode precisar usar o rubygem Koala para verificar se um usuário do Facebook é membro de um determinado grupo.
O seguinte snippet contém um método que recebe dois parâmetros:
- um
user
objeto que tem um acessadoroauth_token
que obtém o token de acesso do usuário e umuid
acessador que obtém o uid do Facebook do usuário - e um
gid
que representa o id do grupo do Facebook.
O método verificará se o usuário tem a user_groups
permissão necessária (se não, você deve especificar o que fazer). Em seguida, ele executará um procedimento simples FQL Query
que eventualmente retornará se o usuário é realmente um membro ou não.
def is_group_member? user, gid
facebook ||= Koala::Facebook::API.new(user.oauth_token)
unless facebook.get_connections('me','permissions')[0]['user_groups']
# Do something you want, like throwing an exception or returning false
end
query_string = "SELECT uid FROM group_member WHERE uid=#{user.uid} AND gid=#{gid}"
(facebook.fql_query(query_string).count > 0)? true: false
end