Facebook API:无法授权我自己


Facebook API: Unable to Authorize myself

我正在开发我的第一个Fb应用程序。只是为了测试目的,我去了我的帐户设置并删除了该应用程序,现在我无法访问我自己的应用程序,并出现错误:

API错误代码:191 API错误描述:指定的URL不是由应用程序拥有错误消息:redirect_uri不是由应用程序。

在PHP中使用以下代码进行授权:

$auth_url = "https://www.facebook.com/dialog/oauth?client_id=" . $app_id . "&redirect_uri=" . urlencode($my_url);
$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: " . $data["user_id"]);
     }
   $access_token = $data["oauth_token"];
   $user = intval($data["user_id"]);

我想补充的一件事是,如果我直接在浏览器上访问redirect_uri,它会显示对话框来授权我的应用程序,但当我在浏览器上使用应用程序URL时,它会出现错误并重定向到以下URL

https://www.facebook.com/connect/uiserver.php?app_id=363045713726227&method=permissions.request&redirect_uri=https%3A%2F%2Fapps.facebook.com%2F363045713726227%2F&response_type=none&display=page&perms=user_photos&auth_referral=1

如果不知道$my_url的值,就不可能说,但是,您可能已经将$my_url设置为在开发人员应用程序控制面板中设置的"owned"域之外的值。

您要查找的设置是应用程序域:站点URL:画布URL:,请注意,虽然站点URL:看起来不应该适用,但实际上是适用的,因为您需要为应用程序域设置一个站点URL:才能生效。

在域URL中,您必须指定自己拥有的某个URL。可以从"应用程序设置"页面对其进行编辑。否则,为了进行测试,您可以使用一些facebook URL,如...&redirect_uri=http://www.facebook.com/home.php