2011-04-16 79 views
1

从昨天我们面临的问题是我的应用程序继续在Facebook重新加载。 我试图调试它,并出现以下几行。以下是我的代码为facebook autologin。Facebook cookie无法访问代码

if ((Request["session"] != null) || (Request.Cookies[CookieName] != null)) 
     { 

      Jayrock.Json.JsonObject objArray = new Jayrock.Json.JsonObject(); 
      if (Request["session"] != null) 
      { 
       string fbSession = Request["session"]; 
       fbSession = fbSession.Trim(); 
       objArray = (Jayrock.Json.JsonObject)Jayrock.Json.Conversion.JsonConvert.Import(fbSession); 
       if (objArray != null) 
       { 
        fbUserId = Convert.ToInt64(objArray["uid"].ToString()); 
        fbSessionKey = objArray["session_key"].ToString(); 
        if (objArray["access_token"] != null) 
         fbAccessToken = objArray["access_token"].ToString(); 
       } 
      } 

     if (fbUserId>0) 
     { 
      // redirect to application page 
     } 
     else 
     { 

      string URL1 = "http://www.facebook.com/login.php?api_key=" + fb_APIKey + "&fbconnect=0&canvas=1&return_session=true&v=1.0"; 
      //redirect to url1 

     } 
    } 
    else 

    { 
     string URL1 = "http://www.facebook.com/login.php?api_key=" + fb_APIKey + "&fbconnect=0&canvas=1&return_session=true&v=1.0"; 
     //redirect to url1 


    } 

我面对的问题是REQUEST ['session']在每种情况下都会为空。在这个应用程序工作正常之前,我从昨天开始就面临这个问题。是否有一些昨天发生变化的facebook侧面,因为目前我能够在cookie中看到fb用户的请求数据。但是我们无法从.NET访问它。 我是.NET新手,从一些代码中得到了这段代码,但类似的问题也出现在我们的php应用程序中,我们更新了我们的php sdk并解决了问题。

回答

0

尝试使用Request.QueryString["session"]而不是Request["session"]。文档here

也可以尝试以下操作:

string URL1 = "http://www.facebook.com/login.php?api_key=" + fb_APIKey + "&fbconnect=0&canvas=1&return_session=true&v=1.0";