我的脸书应用程序包含一些php页面 它第一页出现在画布网址中我可以从signed_request参数中获取用户数据,如下所示:
$app_id = "1111111111111111";
$canvas_page = "http://www.mydomain.com/fb/app/";
$auth_url = "https://www.facebook.com/dialog/oauth?client_id=" . $app_id . "&redirect_uri=" . urlencode($canvas_page) . "&scope=email,read_stream";
$signed_request = $_REQUEST["signed_request"];
list($encoded_sig, $payload) = explode('.', $signed_request, 2);
$data = json_decode(base64_decode(strtr($payload, '-_', '+/')), true);
if (empty($data["user_id"])) {
echo("<script> top.location.href='" . $auth_url . "'</script>");
} else {
echo 'welcome user';
}
但是当我在我的应用程序中导航到其他页面或iframe中的页面时,我看不到此参数。 所以它只是在画布中加载的第一页,Facebook发送此参数
答案 0 :(得分:1)
正确。只有加载到iframe的第一页才会收到signed_request参数。您可以在那里解析它,然后将所需的任何数据传送到后续页面。