Вопрос

Недавно моя компания обновила наше приложение Facebook, поэтому она использует Canvas Iframe с PHP 3.1.1 SDK. Все отлично работает, за исключением этого одного запроса 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

В итоге возникла проблема: хотя администратора страницы просили соответствующих разрешений, страница, которая отображалась для широкой публики для приложения, также попросила об этом. Существует задержка между тем, когда администратор разрешает приложение, и когда данные с нашего сайта фактически начинают отображаться на своей странице в Facebook, и страница, которая отображается всякий раз, когда Joe Public сталкивается с приложением, просят у них разрешений и ошибок, когда они сказали нет.

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

Другие советы

Текущий PHP SDK составляет 3,1,1
https://github.com/facebook/php-sdk/

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top