$app_id = "someid";
$canvas_page = "http://mydomain/index.php/fbresponse";
$auth_url = "http://www.facebook.com/dialog/oauth?client_id="
. $app_id . "&redirect_uri=" . urlencode($canvas_page);
$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>");
echo "NO USERID";
} else {
echo ("Welcome User: " . $data["user_id"]);
}
我总是没有USERID。我在apps.facebook.com/myapp,它是为app iframe设置的。我永远不会为用户弹出允许访问框。它直接没有用户ID。这至少有一次有效。现在它总是没有用户ID。感谢。
答案 0 :(得分:0)
我相信它可能有效,但您之前同意了许可框。访问框仅在每个应用程序中弹出一次。有一些例外,例如,如果您尝试请求额外权限,或者您请求用户过去决定跳过的权限。这可以解释为什么你说这至少有一次有效。
我建议设置一个测试用户,看看是否为该用户弹出了权限对话框。您可以通过应用仪表板执行此操作 - 转到“角色”,“测试用户”