为什么我的Facebook应用程序没有获得允许访问框?

时间:2011-09-23 21:10:19

标签: facebook canvas

 $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。感谢。

1 个答案:

答案 0 :(得分:0)

我相信它可能有效,但您之前同意了许可框。访问框仅在每个应用程序中弹出一次。有一些例外,例如,如果您尝试请求额外权限,或者您请求用户过去决定跳过的权限。这可以解释为什么你说这至少有一次有效。

我建议设置一个测试用户,看看是否为该用户弹出了权限对话框。您可以通过应用仪表板执行此操作 - 转到“角色”,“测试用户”