Ошибка FQL «Требуется пользовательский сеанс» - PullRequest
2 голосов
/ 06 сентября 2011

Моя компания недавно обновила наше приложение FaceBook, чтобы оно использовало Canvas Iframe с SDK PHP 3.1.1.Все отлично работает, за исключением одного FQL-запроса, который продолжает посылать сообщение об ошибке: # 102 - «Требуется сеанс пользователя».

Что это вообще значит?Это не происходит со всеми пользователями, и это не только для любого конкретного браузера.Были другие люди, спрашивающие об этом, но я не могу найти какое-либо решение, которому меньше года, которое не оттолкнет его "просто заставьте их войти снова".

Вот копия массива ошибок FB и объекта FB (с некоторыми вещами, отмеченными для конфиденциальности)

Array
(
    [error_code] => 102
    [error_msg] => Requires user session
    [request_args] => Array
    (
        [0] => Array
            (
                [key] => method
                [value] => fql.query
            )

        [1] => Array
            (
                [key] => query
                [value] => 
SELECT page_id
FROM page_admin
WHERE uid=me() AND page_id=####
LIMIT 1
            )

        [2] => Array
            (
                [key] => callback
                [value] => 
            )

        [3] => Array
            (
                [key] => api_key
                [value] => ###
            )

        [4] => Array
            (
                [key] => format
                [value] => json-strings
            )

        [5] => Array
            (
                [key] => access_token
                [value] => ###
            )

    )

)
Facebook Object
(
    [appId:protected] => ###
    [apiSecret:protected] => ###
    [user:protected] => 
    [signedRequest:protected] => Array
    (
        [algorithm] => HMAC-SHA256
        [issued_at] => 1315334757
        [page] => Array
            (
                [id] => ###
                [liked] => 
                [admin] => 
            )

        [user] => Array
            (
                [country] => us
                [locale] => en_US
                [age] => Array
                    (
                        [min] => 21
                    )

            )

    )

    [state:protected] => 
    [accessToken:protected] => ###
    [fileUploadSupport:protected] => 
)

Становится действительно неприятно, когда эта ошибка появляется, когда нашаКоманда разработчиков не может найти официальную документацию или решение для этого.

Я нашел этот пост с прошлого года ( Требуется ошибка пользовательской сессии при использовании FQL в Facebook ), но решение, которое он предоставляетбольше не относится к SDK 3.1.1.

Любая помощь приветствуется.

Ответы [ 3 ]

0 голосов
/ 08 сентября 2011

Проверьте также, требуется ли вам разрешение manage_pages
https://developers.facebook.com/docs/reference/fql/page_admin/

оно требуется с 22 сентября 2011 г. для этого типа запроса

надеюсь, это поможет

0 голосов
/ 02 февраля 2012

В итоге проблема заключалась в следующем: несмотря на то, что администраторы страницы запрашивали соответствующие разрешения, страница, отображаемая широкой публике для приложения, ТАКЖЕ просила об этом.Существует задержка между тем, когда администратор авторизует приложение, и тем моментом, когда данные с нашего сайта фактически начинают отображаться на их странице в Facebook, и страницей, которая отображалась всякий раз, когда Джо Пабл сталкивался с приложением, запрашивала у них разрешения и выдавала ошибку, когда они говорили№.

Изменение общедоступной страницы приложения по умолчанию устранило проблему.

0 голосов
/ 07 сентября 2011

текущий php SDK равен 3.1.1
https://github.com/facebook/php-sdk/

Я бы предложил обновить и проверить, если вы получаете то же сообщение об ошибке, это может быть из-за несовместимости с большинствомтекущий javascript SDK и более старый php SDK, который вы используете.

надеюсь, это поможет

...