2
我想要获取我的用户是管理员的页面上的信息。此用户已授予我的fb_connect应用离线访问权限。我保存了允许离线访问的session_key(它具有用户的ID)。我可以使用此会话密钥发布到此粉丝页面。但是,当我尝试访问该页面的信息时,我得到一个SessionExpired错误。这没有意义。看代码和输出如下:创建Facebook会话获取页面信息
p是一个“个人资料”对象持有的三块相关的FB数据(USER_ID,session_key可以和页面ID)
>> fb_session = Facebooker::Session.create
=> #
>> fb_session.secure_with!(p.fb_session_key, p.fb_user_id, 0)
=> nil
>> fb_session.user.has_permission?("offline_access")
=> true
>> fb_session.user.has_permission?("publish_stream")
=> true
>> fb_session.user.has_permission?("read_stream")
=> true
>> pages = fb_session.fql_query("select fan_count from page where page_id = #{p.fb_page_id}")
Facebooker::Session::SessionExpired: Session key invalid or no longer valid
...
>> pages = fb_session.pages(:fields => {:page_ids => p.fb_page_id})
Facebooker::Session::SessionExpired: Session key invalid or no longer valid
...
>> pages = Facebooker::Session.create.fql_query("select fan_count from page where page_id = #{p.fb_page_id}")
=> [#]
也许我没有创造的会话权限或者离线访问权限不允许我访问用户的页面,即使我有权限推送它。正如你可以看到,当我只使用一个匿名会议,我可以得到粉丝数,我猜是公开的。有没有人有这个想法?