我正在制作一个Facebook应用程序用于标签页,应用程序的重点是人们上传图片并分享它,以便其他人可以看到并投票。所以我知道我必须使用app_data
将用户重定向到特定图片,但我无法处理它。我尝试使用$facebook->getSigned_request
,$_REQUEST
,但没有一个返回app_data值。我也使用PHP SDK示例文件进行登录,但是当我从标签页中尝试它时,没有任何异常。您能告诉我如何从标签页登录并获得app_data
值吗?
答案 0 :(得分:2)
所以,从一开始。首先,当用户访问您的网页时,您必须检查该用户是否已授予您的应用权限。
$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_data,你必须这样做:
$signed_request = $facebook->getSignedRequest(); //getting signed_request
$app_data = $signed_request['app_data']; // getting app_data
现在,为了获取app_data,您需要确保将其传递到URL(GET)中的选项卡。像这样
PATH_TO_YOUR_FB_PAGE/?app_data=SOME_VALUE
或如果您的网页以?sk=app_PAGE_ID
结尾,只需添加&app_data=SOME_VALUE