2011-01-18 14 views
1

バージョン4.2.1にアップグレードした後に問題が発生しました。私はAJAXポストを実行しようとするとき、イムはまだauthorizer.IsAuthorized()IsAuthorized = False、Facebook C#SDK 4.2.1

Default.aspxの中で偽の取得:

$('.WallPost').click(function(e){ 

     //get the form 
     var f = $("#<%=Page.Form.ClientID%>"); 
     //get the action attribute 
     var action = 'http://www.domain.com/FacebookTestZone/Call/WallPost.aspx'; 
     //get the serialized data 
     var serializedForm = f.serialize(); 
     $.post(action, serializedForm, 
      function(txt) { 
       alert(txt); 
      } 
     );    

    }); 

WallPost.aspx.cs:あなたが持っている

fbApp = new FacebookApp(); 
authorizer = new CanvasAuthorizer(fbApp); 

    if (authorizer.IsAuthorized()) 
    { 
     Response.Write("IsAuthorized = True"); 
    } 
    else 
    { 
     Response.Write("IsAuthorized = False"); 
    } 
+0

以前のバージョン私はweb.configファイル – khalil

答えて

2

ajaxリクエストでsigned_request値を送信します。 iframeアプリケーションではCookieがサポートされなくなりました。これは混乱しており、信頼性が低いためです。

$('.WallPost').click(function(e){ 

     //get the form 
     var f = $("#<%=Page.Form.ClientID%>"); 
     //get the action attribute 
     var action = 'http://www.domain.com/FacebookTestZone/Call/WallPost.aspx?signed_request=<%=Request.Params["signed_request"] %>'; 
     //get the serialized data 
     var serializedForm = f.serialize(); 
     $.post(action, serializedForm, 
      function(txt) { 
       alert(txt); 
      } 
     );    

    }); 
+0

に=「true」をcookieSupportを設定すると、私は「クッキーは、もはやサポート」決定と良いよOKだった...しかし:フォームのポストで、次のような何かをそれはどこに記載されているか記述されていますか?リリースノートでは単にクッキーのサポートが「自動」になっています。 –

+0

私はクッキーをサポートしていますが、自動的にサポートしています。 – khalil

+0

これらはサポートされていませんが、正しく使用されている場合にのみサポートされます。 iframeアプリでCookieを使用してはいけません。 CookieはFacebook Connectサイト専用です。 –