Создание сеанса Facebook для получения информации о странице

Я пытаюсь получить информацию о странице, для которой мой пользователь является администратором. Этот пользователь предоставил моему приложению fb_connect офлайн-доступ. Я сохранил session_key, который разрешает автономный доступ (в нем есть идентификатор пользователя). Я могу опубликовать на этой фан-странице с этим сеансовым ключом. Но когда я пытаюсь получить доступ к информации о странице, я получаю ошибку SessionExpired. В этом нет смысла. Посмотрите на код и вывод ниже:

p - это объект профиля, который содержит три части соответствующих данных fb (user_id, session_key и page 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}")
=> [#]

Возможно, я создаю сеанс неправильно, или, возможно, автономный доступ не дает мне доступа к странице пользователя, даже если у меня есть разрешения на нее. Как вы можете видеть, когда я просто использую анонимный сеанс, я могу получить количество поклонников, которое, как я предполагаю, является общедоступным. У кого-нибудь есть идеи по этому поводу?


person Marty Haught    schedule 11.03.2010    source источник


Ответы (1)


Вам нужно запросить manage_pages разрешение, а затем запросить me/accounts объект графика, чтобы получить список страниц (также называемых учетными записями), которыми управляет пользователь. Если у вас есть список этих страниц, вы можете получить информацию о каждой странице, используя идентификатор страницы.

person DMCS    schedule 29.12.2011