让我把我的代码放在第一位 string strSigned = Request.Params [" signed_request"]; // JSONObject obj = JSONObject.CreateFromString(strSigned);
Facebook.FacebookSignedRequest fb = FacebookSignedRequest.Parse(AppSecret, strSigned);
JsonObject jsonObj = fb.Data as JsonObject;
if (!jsonObj.ContainsKey("user_id"))
{
string appId = App_Id;
string redirectUrl = "http://127.0.0.1/Default.aspx"
string redirectstr = "https://www.facebook.com/dialog/oauth?client_id=" + appId + "&redirect_uri=" + redirectUrl + "&scope=email,read_stream";
Page.ClientScript.RegisterStartupScript(this.GetType(), "redirect", "<script>top.location.href='" +redirectstr +"'</script>");
Response.Clear();
}
else
{
Response.Write(jsonObj["user_id"].ToString());
}
上面的代码运行完全,直到用户按下允许权限。该应用程序实际上重定向到提到的redirect_uri http:...而不是留在Facebook。
我真的被这个问题所困扰。我知道解决方案。
答案 0 :(得分:0)
这样做是为了可以被接受facebook登录的外部网站使用。
redirect_uri可以设置为:
apps.facebook.com/myapp/
或
www.facebook.com/pageurl?sk=app_YOUR_APP_ID
以及外部网站网址。