2012-08-22 40 views
0

fangate是一种检查用户是否喜欢该应用的页面的方法,如果有,他可以查看内容。Facebook Fangate with rest-graph gem

我一直在尝试做一个与休息图宝石fanate。

rest_graph_setup(
    :write_session => true, 
    :iframe => true, 
    :auto_authorize => true, 
    :auto_authorize_scope => 'email', 
    :app_id  => ENV['FB_ID'], 
    :secret  => ENV['FB_SC'], 
    :write_cookies => true, 
) 
raise rest_graph.get('me/likes/PAGE_ID').inspect 

那是我连接到应用程序,并获得方式,从理论上讲,状态(/ USER_ID /喜欢/ PAGE_ID)。但没有任何反应,我为我喜欢的PAGE_ID获得了一个空数组。

我也试过FQL方法

raise rest_graph.fql('SELECT uid FROM page_fan WHERE page_id=PAGE_ID AND uid=USER_ID').inspect 

但同样,我得到一个空数组。

那么,对此有何想法?

+0

我在fangate工作,因为我们说话,但我似乎有一点问题获取数据。在我自己的网页上它工作(我猜是因为该应用程序已经可以访问我的喜欢)。因此,为了使这项工作,我应该首先让我的用户授权与我的应用程序?接下来是“喜欢检查”,然后我可以显示我的隐藏内容? –

+0

没关系解决:http://facebook.stackoverflow.com/questions/5329818/seamless-way-to-check-if-user-likes-page/5331541#5331541 –

回答

1

看起来您在范围内没有user_likes权限。添加像

rest_graph_setup(
    :write_session => true, 
    :iframe => true, 
    :auto_authorize => true, 
    :auto_authorize_scope => 'email,user_likes', 
    :app_id  => ENV['FB_ID'], 
    :secret  => ENV['FB_SC'], 
    :write_cookies => true, 
) 
raise rest_graph.get('me/likes/PAGE_ID').inspect 

这可能会解决您的问题

+0

工作就像一个魅力。现在我遇到了Facebook没有立即更新数据库的问题,并且我得到了4分钟的延迟。谢谢Jeduan。 – kinduff