Ошибка FQL «требует сеанса пользователя»
-
27-10-2019 - |
Вопрос
Недавно моя компания обновила наше приложение 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 года для этого типа запроса
надеюсь это поможет