我正在制作一个用于标签页的 Facebook 应用程序,该应用程序的重点是人们上传图片并分享它,以便其他人可以看到并投票。所以我知道我必须使用app_data
将用户重定向到特定图片,但我无法处理它。我正在尝试使用$facebook->getSigned_request
,$_REQUEST
但它们都没有返回 app_data 值。我也使用 PHP SDK 示例文件进行登录,但是当我从标签页尝试它时,什么也没发生。你能告诉我如何从标签页登录并接收app_data
价值吗?
问问题
1875 次
1 回答
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
于 2013-04-14T09:35:15.667 回答