Facebook PHP SDK和选项卡页面-登录和签名请求

Facebook PHP SDK和选项卡页面-登录和签名请求,php,facebook,login,sdk,Php,Facebook,Login,Sdk,我正在制作一个Facebook应用程序用于tab页面,该应用程序的目的是让人们上传图片并共享,以便其他人可以看到并投票支持它。所以我知道我必须使用app\u data将用户重定向到特定图片,但我无法处理它。我尝试了$facebook->getSigned\u request,$\u request,但没有一个返回app\u数据值。我也在使用PHPSDK示例文件进行登录,但当我从选项卡页面尝试时,什么都没有发生。您能告诉我如何从选项卡页面登录并接收app\u数据值吗?因此,从一开始。首先,当用户访

我正在制作一个Facebook应用程序用于tab页面,该应用程序的目的是让人们上传图片并共享,以便其他人可以看到并投票支持它。所以我知道我必须使用
app\u data
将用户重定向到特定图片,但我无法处理它。我尝试了
$facebook->getSigned\u request
$\u request
,但没有一个返回app\u数据值。我也在使用PHPSDK示例文件进行登录,但当我从选项卡页面尝试时,什么都没有发生。您能告诉我如何从选项卡页面登录并接收
app\u数据
值吗?

因此,从一开始。首先,当用户访问您的页面时,您必须检查该用户是否已授予您的应用程序权限

$facebook = new Facebook(array(
    'appId' => YOUR_APP_ID,
    'secret' => YOUR_SECRET
));

if($facebook->getUser()) {
    //Here will be code to get app_data
} else {
    $params = array(); //Here you will enter key=>value pairs of permissions you need
    echo '<script>top.location.href="' . $facebook->getLoginUrl($params) . '"</script>';
    //Code above redirects user to page that will ask for permissions for your app.
}
现在,为了获取app_数据,您需要确保将其传递到URL中的选项卡(get)。像这样


或者,如果您的页面以
?sk=app\u page\u ID
结尾,只需添加
&app\u data=SOME\u VALUE

就是我想要的@Darvex@c0nfus3d1很高兴它有帮助:)注意,答案是1岁,有些事情可能已经改变了。小心使用。你的解释对我要找的东西来说是恰到好处的!不知道为什么它对你不起作用@Georgi@Darvex
getLoginUrl
方法生成一个使用OAuth登录的链接?我已经试过了,但是页面没有加载到fb选项卡中。在控制台中,我看到一条消息:
拒绝显示
@JCarlos这个答案已经有两年多了,有些事情可能已经改变了。但你可以在这里找到答案:也许这与你看到的错误有关
$signed_request = $facebook->getSignedRequest(); //getting signed_request
$app_data = $signed_request['app_data']; // getting app_data
PATH_TO_YOUR_FB_PAGE/?app_data=SOME_VALUE