0

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

4

1 回答 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 回答