我的公司最近更新了我们的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] =>
)
当我们的开发团队找不到任何官方文档或解决方案时,让这个错误突然变得非常令人沮丧。
我确实从去年(Requires user session error while using FQL in facebook)找到了这篇文章,但它提供的解决方案与SDK 3.1.1不再相关。
任何帮助都将不胜感激。
答案 0 :(得分:0)
目前的php SDK是3.1.1
https://github.com/facebook/php-sdk/
我建议更新并检查是否收到相同的错误消息,可能是因为与您使用的最新javascript SDK和较旧的php SDK不一致。
希望这会有所帮助
答案 1 :(得分:0)
如果您需要manage_pages权限,请检查 https://developers.facebook.com/docs/reference/fql/page_admin/
从2011年9月22日起,此类查询需要
希望这会有所帮助
答案 2 :(得分:0)
问题最终是这样:即使页面管理员被要求获得适当的权限,显示给应用程序的公众的页面也要求它。管理员授权应用程序和我们网站上的数据实际开始显示在他们的Facebook页面之间有一段延迟,并且每当Joe Public遇到应用程序时显示的页面会询问他们的权限和错误,当他们说号
修改应用的公开默认页面解决了这个问题。